资源简介 (共31张PPT)第4章 数据库表的管理本章目标:理解数据完整性、主键和外键的概念及在数据库表中的应用掌握数据库表设计方法和设计要素,掌握基本的数据类型的用法掌握建立数据库表方法掌握查看表的信息、修改和删除数据表的方法掌握查看数据库表的依赖关系掌握添加、修改和删除表中数据的方法掌握数据库不同格式文件的导入与导出操作本章内容4.1表相关的几个概念4.2 设计表4.3 创建表4.4 表的管理和维护4.5 表数据的添加、修改和删除4.6 导入和导出数据4.3 创建表4.3.1 使用SQL Server Management Studio创建表具体操作步骤如下(1)启动SQL Server Management Studio。(2)在“对象资源管理器”窗口中,展开“数据库”→“学生选课”→“表”节点。右击“表”节点,在弹出的快捷菜单中执行“新建表”命令,打开表设计器。【例4-3】在“学生选课”数据库中,利用SQL Server Management Studio创建4.2中设计的“学生”表(3)在表设计器中,在“列名”单元格输入字段名“学号”,在同一行的“数据类型”单元格设置该字段的数据类型为char(8),并在“允许Null值”列选择不允许该字段为空值。如果允许,则选中复选框;如果不允许,则取消选中的复选框。这里选择不允许空值,设置为主键,可以直接点工具栏上的设置主键按钮。(4)重复步骤(3)设置“姓名”、“性别”、“出生日期”、“班级”等列的属性。(5)执行“文件”→“保存”命令或单击工具栏上的保存按钮,在打开的对话框中输入表名称“学生”,单击“确定”按钮保存表。“学生”表的相关信息会出现在“对象资源管理器”窗口中。4.3.2使用T-SQL语句创建表T-SQL创建表的语法格式如下:CREATE TABLE [database_name.[schema_name].|schema_name.]table_name({column_name [NULL|NOT NULL][IDENTITY[(seed,increment)]][ […n ] ][ ,…n ] }[,< table_constraint>][,…n ])【例4-4】在“学生选课”数据库中,利用CREATE TABLE创建4.2节设计的“教师”表USE 学生选课GOCREATE TABLE 教师(工号 char (4) NOT NULL PRIMARY KEY,姓名 char (8) NOT NULL,性别 bit,学历 varchar(8) CHECK(学历=‘专科’ or 学历 =‘本科’ or 学历=‘硕士研究生’ or 学历=‘博士研究生’),职称 varchar(8) CHECK(职称=‘助理讲师’ or职 称=‘讲师’ or 职称=‘副教授’ or 职称=‘教授’))【例4-5】在“学生选课”数据库中,利用CREATE TABLE创建4.2中设计的“课程”表的表结构USE 学生选课GOCREATE TABLE 课程(课程号 tinyint NOT NULL PRIMARY KEY ,课程名 varchar(40) UNIQUE ,学时 tinyint CHECK(学时>=36 and 学时<=80),学分 decimal(3,1) CHECK(学分<=4.0 and 学分>=1.0),授课教师 char(4) FOREIGN KEY REFERENCES 教师(工号))【例4-6】在学生选课数据库中,利用CREATE TABLE创建4.2节中设计的选课表,表的结构USE 学生选课GOCREATE TABLE 选课( 课程号 tinyint FOREIGN KEY REFERENCES 课程(课程号),学号 char(8) FOREIGN KEY REFERENCES 学生(学号),成绩 tinyint CHECK(成绩>=0 and 成绩<=100),PRIMARY KEY (课程号,学号))4.4 表的管理和维护数据库表创建之后,用户可以进行查看表的定义信息、修改表的结构、删除表等操作。修改表是用户可以根据需要使用SQL Server Management Studio和使用T-SQL中的ALTER TABLE语句修改表的结构,新增列、删除列和的修改列名称、数据类型、长度、是否为空等属性,可以修改表中列的约束定义,这些都是常见的修改表结构的操作。4.4.1 查看表的定义信息1.查看表的属性具体操作步骤如下(1)启动SQL Server Management Studio。(2)在“对象资源管理器”窗口中,“展开数据库”→“学生选课”→“表” →节点“学生”。【例4-7】利用SQL Server Management Studio查看“学生”表的信息。(3)右击“学生”,在弹出的快捷菜单中执行“属性”命令,打开“表属性-学生”窗口,如图下所示。在该窗口中可查看到表常规属性,如和“学生”表连接的服务器、数据库、用户,“学生”表的简要说明,创建日期、架构,名称、系统对象;权限;更改的跟踪;“学生”表的存储属性,如文件组、压缩、常规的存储情况;扩展属性。(4)再次展开“学生”→“列”节点,右击“姓名”列,在弹出的快捷菜单中执行“属性”命令,打开“列属性-姓名”窗口,如图4.4所示。在该窗口中可查看“学生”表具体列常规和扩展属性,如数据类型、是否为主键、是否允许空等。2.查看表结构展开“dbo.学生”中的“列”、“键”、“约束”、“触发器”和“索引”等对象,即可看到相关信息.【例4-8】查看“学生选课”的表结构、约束、触发器等信息。4.4.2 修改表1.利用SQL Server Management Studio管理数据表更改数据表结构的步骤:(1)启动SQL Server Management Studio。(2)在对象资源管理器中展开“数据库”节点,依次选择“数据库”→“学生选课”→“表”→“学生”,右击选择“设计”命令,打开“表设计器”。在“表设计器”中,可以查看表结构,可以新增、删除列,可以修改列的数据类型、长度、是否为空等属性,可以修改列的约束定义。(3)当完成修改操作后,单击工具栏上的“保存”按钮,保存对表结构的修改。2.使用T-SQL更改数据表用ALTER TABLE用于更改原有表的结构,其语法格式:ALTER TABLE 表名([ALTER COLUMN 列名 列定义]| [ADD 列名 数据类型 约束[,…,n]]| [DROP COLUMN 列名[,…,n]]| [ADD CONSTRAINT 约束名 约束[,…,n]]| [DROP CONSTRAINT约束名[,…,n]])代码:【例4-10】用ALTER TABLE语句,在“学生”表中将 “班级”的数据的长度改为30。USE 学生选课GOALTER TABLE 学生ALTER COLUMN 班级 char(30)GO【例4-11】用ALTER TABLE语句,在“学生表”中增加一列,列名为电话,数据类型及长度为varchar(11) ,允许取空值。代码:USE 学生选课GOALTER TABLE 学生ADD 电话 varchar(11) nullGO【例4-12】用ALTER TABLE语句,在“学生”表中删除数据列“电话”。代码:USE 学生选课GOALTER TABLE 学生DROP COLUMN 电话GO【例4-13】用ALTER TABLE语句,在“教师”表中创建约束CK_教师_学历,要求“学历”只能为“中专”、“专科”、“本科”、“硕士研究生”、“博士研究生”。代码:USE 学生选课GOALTER TABLE 教师ADD CONSTRAINT CK_教师_学历 CHECK(学历 IN(‘中专,‘专科’, ‘本科’, ‘硕士研究生’, 博士研究生’)【例4-14】用ALTER TABLE语句,在“教师”表中添加默认DF_教师_职称,设置“职称”的默认值为“讲师”。代码:USE 学生选课GOALTER TABLE 教师ADD CONSTRAINT DF_教师_职称DEFAULT( ‘讲师’) FOR 职称【例4-15】用ALTER TABLE语句,在“课程”表的“课程名”字段上添加名称为“UQ_课程_课程名”的UNIQUE约束。代码:USE 学生选课GOALTER TABLE 课程ADD CONSTRAINT UQ_课程_课程名 UNIQUE(课程名)【例4-16】用ALTER TABLE语句,删除“选课”表中 “FK_课程_选课”外键。代码:USE 学生选课GOALTER TABLE 选课DROP CONSTRAINT FK_课程_选课【例4-18】用ALTER TABLE语句,在“选课”表中 “课程号”字段上添加名称为“FK_课程_选课”外键约束,其中“课程号”是主表“课程”表中的“课程号”字段的外键。代码:USE 学生选课GOALTER TABLE 选课ADD CONSTRAINT FK_课程_选课 FOREIGN KEY(课程号)REFERENCES 课程(课程号)4.4.3 删除表1.使用SQL Server Management Studio删除表使用SQL Server Management Studio删除表,在指定的数据库中,展开表结点,右击指定表,在弹出的快捷菜单中选择“删除”选项,即可完成删除任务。2.使用DROP TABLE语句DROP TABLE语句的语法格式如下。DROP TABLE 表名1[ ,…n ]【例4-19】删除“选课”表。代码:USE 学生选课GODROP TABLE 选课GO4.4.4 查看表之间的依赖关系在“对象资源管理器”窗口中,展开“数据库”→“学生选课”→“数据库关系图”,右击,“新建数据库关系图”,添加“学生选课”数据库中的所有用户表(“选课”、“教师”、“课程”、“学生”表),因为“学生选课”数据库中表之间已经建立了关系,可以看到“学生选课”数据库表的依赖关系。 展开更多...... 收起↑ 资源预览