表的设计创建与管理.ppt

上传人:za****8 文档编号:15085292 上传时间:2020-08-03 格式:PPT 页数:35 大小:1.09MB
返回 下载 相关 举报
表的设计创建与管理.ppt_第1页
第1页 / 共35页
表的设计创建与管理.ppt_第2页
第2页 / 共35页
表的设计创建与管理.ppt_第3页
第3页 / 共35页
点击查看更多>>
资源描述
表的设计与创建,SQL Server 2005,上节课学习了数据库的创建,可以想象成我们建立了一个像学校图书馆一样的存储空间,用来摆放我们的图书,那么下一步,应该作什么? 下一步,我们进行书架的摆放。文学作品、期刊杂志、各学科学习资料,需要我们按照它们的特点,分门别类的设置多个书架,这样在未来取阅的时候才能够轻松的找到我们想要找的图书。,SQL Server 2005,数据库规划 表的设计,SQL Server 2005,思考: 设计一个销售货品的数据库,客户要求能够查询订货单,具体订货信息应包括 经手业务员资料、货品的进价、货品售价、货品卖出数量、货品交易时间、货品名称、货品生产厂商、货品库存量等等信息, 应该如何设计?,分析现实世界,设计表,SQL Server 2005,分析现实世界,设计表,销售人员,商品,销售,地址,电话,部门,性别,姓名,编号,Employees,进货员工编号,进货时间,数量,零售价,进货价,生产厂商,商品名称,商品编号,Goods,售货员工编号,售出时间,数量,商品编号,销售编号,Sell,SQL Server 2005,SQL Server 2005,概念模型,实体: 实体 客观存在并且可以相互区别的事务和活动的抽象 一个学生 实体集 同一类实体的集合 一个班级的学生 联系(Relationship) 联系 实体之间的相互关系 学生选课 联系集 同类联系的集合 每个学生选各种课,SQL Server 2005,概念模型,属性(Attribute) 属性 描述实体和联系的特性 学号,姓名,性别 属性值-实例 属性的具体取值 2005216001001,赵成刚,男 主码(Primary Key) 能够惟一标识实体集中每个实体的属性 或属性组合学号 学号,课程号 外码(Foreign Key) 不是本实体的主码,是另一实体的主码, 用于实现联系。 选课联系中的学号和课程号,SQL Server 2005,表的创建,SQL Server 2005,创建表,使用SSMS创建表,1,使用T-SQL语句创建表,2,SQL Server 2005,表的基本概念,表是数据库对象,用于存储实体集和实体间联系的数据。SQL Server 2005表主要由列和行构成。关系模型的组成要素 列:每一列用来保存对象的某一类属性。 行:每一行用来保存一条记录,是数据对象的一个实例。,SQL Server 2005,创建表,在设计表时,一般应考虑: (1)表所包含的列数,每一列的名称、数据类型以及是否允许空值; (2)表中哪些列是主键,哪些列是外键; (3)表否需要约束、默认设置、索引或规则。,SQL Server 2005,使用T-SQL语句创建表,格式: CREATE TABLE 表名 (列名1 数据类型 列级完整性约束, 列名 2 数据类型 列级完整性约束, 列名n 类型 约束, 表级完整性约束, );,SQL Server 2005,例如: Create table 学生信息 (学号 int not null, 姓名 nvarchar(5) not null, 性别 nchar (2) not null ),使用T-SQL语句创建表,SQL Server 2005,关于字符类型,nvarchar n表示用每字符占双字节,var代表不定长 比如:I服了you nvarchar(10)方法计算共占: 2*6=12 B Varchar (10)方法计算共占: 2*2+4=8 B Nchar(10)方法计算共占: 2*10=20 B Char(10) 方法计算共占: 1*10=10 B,SQL Server 2005,表的数据类型参考表,下表列出了SQL Server 2005中常用的数据类型:,SQL Server 2005,定义主键,定义表的主键-constraint声明 例如: Create table 学生信息 (学号 int primary key, ) 隐性定义不推荐,(学号 int not null, Constraint pk_学号 Primary key(学号) ),SQL Server 2005,创建表,练习1 在Sales数据库中创建Employees表。表的结构如下:,SQL Server 2005,数据库完整性实现 -管理表,SQL Server 2005,设计约束,销售人员,商品,销售,地址,电话,部门,性别,姓名,编号,Employees,进货员工编号,进货时间,数量,零售价,进货价,生产厂商,商品名称,商品编号,Goods,售货员工编号,售出时间,数量,商品编号,销售编号,Sell,主键,外键,SQL Server 2005,表的完整性体现,主键约束体现实体完整性,即主键各列不能为空且主键作为行的惟一标识系统表 外键约束体现参照完整性 默认值和规则等体现用户定义的完整性,SQL Server 2005,设置约束,约束定义了关于允许什么数据进入数据库的规则。使用约束的目的是为了防止列出现非法数据,以保证数据库中数据的一致性和完整性。 在SQL Server中,有以下类型的约束 NULL/NOT NULL:空值/非空值约束。 PRIMARY KEY:主键约束,等价非空、单值。 REFERENCES 父表名 (主键):外键约束。 DEFAULT 常量表达式:默认值约束。 UNIQUE:单值约束。比如“身份证号”这类属性 CHECK (逻辑表达式):检查约束。,SQL Server 2005,约束,Primary Key(主键)约束 表中一列或多列的组合的值能惟一标识这个表的每一行,SQL Server自动为主键列创建惟一索引。 Foreign Key(外键)约束 实现两个表之间数据的相关性,限制外键的取值必须是主表的主键值。可以将表中主键值的一列或多列添加到另一张表中,以创建两张表之间的链接。 Unique(惟一)约束 使用UNIQUE约束可以确保表中每条记录的某些字段值不会重复。 Check(检查)约束 使用一个逻辑表达式来判断列中数据值的合法性 。 Default(默认)约束 不为字段输入值使用默认值,SQL Server 2005,数据完整性的类型及其说明,SQL Server 2005,使用T-SQL语句修改表,格式: ALTER table 表名 (ALTER COLUMN 列名 列定义, ADD 列名1 类型 约束, DROP 列名 ),SQL Server 2005,向已有表添加主键: Alter table 学生信息 Add Constraint pk_学号 Primary key(学号),删除主键: Alter table 学生信息 Drop constraint pk_学号,主键键约束,SQL Server 2005,定义外键: (学号 int not null, . constraint FK_班号 foreign key (班号) references 班级信息(班号) ) 注意:因为外键的定义,涉及到与它连接的另外表,所以定义时,需要考虑连接外表是否存在,即两个表的创建先后顺序,所以,我们也课采用alter语句,后期添加表间外键,外键约束,SQL Server 2005,外键约束,向已有表添加外键: Alter table 学生信息 Add Constraint Fk_班号 Foreign key(班号) References 班级信息(班号),删除外键: Alter table 学生信息 Drop constraint Fk_班号,SQL Server 2005,约束类书写语法提要,alter table 表名 add constraint 主键约束名 primary key (列名),Alter Table 表名 Add Constraint 外键约束名 Foreign Key (列名) References 主表名(列名),Alter table 表名 Add Constraint 唯一约束名 Unique (列名),Alter table 表名 Add Constraint 检查约束名 Check (条件),Alter table 表名 Add Constraint 默认值约束名 Default (默认值) For 字段名,SQL Server 2005,练习:书中实例的实现,专业(专业代码,专业名称) 班级(班级代码,班级名称,专业代码) 学生(学号,姓名,性别,出生日期,入学时间,班级代码,专业代码) 课程(课程号,课程名称,学分,所属专业编号) 教师(教师编号,姓名,性别,出生日期,学历,职称,擅长领域,备注) 教师任课(教师编号,课程号,限制学生数) 课程注册(注册号,学号,课程号,教师编号,专业代码,成绩,获得学分),分析:学生选课管理信息系统,SQL Server 2005,最后效果,SQL Server 2005,表的属性管理及删除,SQL Server 2005,管理表,查看表的属性 sp_help 表名 修改表的结构 重新命名表 sp_rename 旧表名,新表名 删除表 drop table 表名,alter table 表名 add 字段名 类型,alter table 表名 altercolumn字段名 类型,alter table 表名 dropcolumn字段名,SQL Server 2005,使用T-SQL语句修改表,修改属性 例如:把表教师中职称的类型改为varchar(30) USE 学生选课系统 GO ALTER TABLE 教师 ALTER COLUMN 职称 varchar(30) NOT NULL GO,SQL Server 2005,小结,本章学习了数据库中表的设计以及实现,并详细介绍了为了保证数据的完整性,对表进行相关约束的指定,最后,介绍了表的属性结构的编辑以及表的删除。,
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!