表的设计创建与管理.ppt_第1页
表的设计创建与管理.ppt_第2页
表的设计创建与管理.ppt_第3页
表的设计创建与管理.ppt_第4页
表的设计创建与管理.ppt_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

表的设计与创建,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 表名 alter column 字段名 类型,alter table 表名 drop column 字段名,SQL Server 20

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论