实验三 数据表的创建与管理
一、实验目的
要求学生熟练掌握SQL server Management Studio的使用和利用T-SQL语句进行数据表的创建和删除,并对数据表和表中数据进行有效的管理。
二、实验内容
分别使用SQL Server Management Studio和T-SQL语句创建和删除数据表,修改表结构,输入数据、更新数据。
三、实验指导
1. 数据表定义
实验3.1 在“JXGL”数据库中,使用SQL Server Management Studio建立S、C和SC三个表,其结构如表
表1.3.1 学生表S结构
列名 | 描述 | 数据类型 | 允许空值 | 说明 |
sno | 学号 | char(8) | NO | 主键 |
sname | 姓名 | char(8) | NO | |
age | 年龄 | Smallint | YES | |
sex | 性别 | char(2) | YES | |
sdept | 所在系 | Varchar(50) | YES | |
表1.3.2 课程表C结构
列 | 描述 | 数据类型 | 允许空值 | 说明 |
cno | 课程号 | char(4) | NO | 主键 foreign key references用法 |
cname | 课程名 | char(20) | NO | |
credit | 学分 | Float | YES | |
pcno | 先修课 | char(4) | YES | |
describe | 课程描述 | varchar(100) | YES | |
表1.3.3 选课表SC结构
列 | 描述 | 数据类型 | 允许空值 | 说明 |
sno | 学号 | char(8) | NO | 主键(同时都是外键) |
cno | 课程号 | char(4) | NO | |
grade | 成绩 | Float | YES | |
具体步骤如下:
(1) 在SQL Server Management Studio的对象管理器中,单击数据库前面的“+”号,选择“表”并击右键,在弹出的快捷菜单中选择“新建表”菜单项,则进入设计表字段对话框,如图
图1.3.1 设计字段对话框
(2) 在设计表字段对话框中,共有三列参数:列名,数据类型,允许Null值。“列名”就是数据库表的字段名,而“数据类型”是字段值的类型即整型、字符型、日期时间型等类型,“允许Null值”是用来设置该字段中的值能不能为空。
“列属性”显示在表设计器的底部窗格中。主要有:
●常规
展开此项可显示“名称”、“允许空值”、“数据类型”、“默认值或绑定”、“长度”、“精度”和“小数位数”。
名称:显示所选列的名称。
长度:显示基于字符的数据类型所允许的字符数。此属性仅可用于基于字符的数据类型。
默认值或绑定:当没有为此列指定值时显示此列的默认值。此字段的值可以是 SQL Server 默认约束的值,也可以是此列被绑定到的全局约束的名称。该下拉列表中包含数据库中定义的所有全局默认值。若要将该列绑定到某个全局默认值,可以从下拉列表中进行选择。另外,若要为该列创建默认约束,可以直接以文本格式键入默认值。
数据类型:显示所选列的数据类型。 若要编辑此属性,只需单击该属性的值,展开下拉列表,然后选择其它值。
允许Null值:指示此列是否允许空值。 若要编辑此属性,只需在表设计器的顶部窗格中单击与列对应的“允许Null值”复选框。
●表设计器
展开表设计器部分。
标识规范:显示此列是否对其值强制唯一性的相关信息。此属性的值是否为标识列以及是否与子属性“是标识”的值相同。
标识种子:显示在此标识列的创建过程中指定的种子值。默认情况下,会将值 1 赋给该单元格。
标识增量:显示在此标识列的创建过程中指定的增量值。默认情况下,会将值 1 赋给该单元格。
计算列规范:显示计算所得列的相关信息。该属性显示的值与“公式”子属性的值相同,可显示计算所得列的公式。
公式:显示计算所得列的公式。
简洁数据类型:按与 SQL CREATE TABLE 语句同样的格式显示有关字段的数据类型的信息。
排序规则:显示当使用列值对查询结果的行进行排序时,SQL Server 默认情况下对列应用的排序规则顺序。
③ 设计好表的字段后,单击“关闭”按钮(或直接按“保存”按钮),弹出是否要保存更改的提示对话框,如图
图1.3.2 是否要保存更改提示对话框
④ 单击“是”按钮,弹出选择名称提示对话框,在这里命名为Student,单击“确定”按钮,则建立好了Student表。
用同样方法,可以建立起如表
实验3.2 在学生管理数据库 “EDUC”中,利用T-SQL语句创建数据表。表结构如下:
表1.3.4 学生信息表Student_info的结构
列名 | 描述 | 数据类型 | 允许空值 | 说明 |
sno | 学生学号 | char(8) | NO | 主键 |
sname | 学生姓名 | char(8) | NO | |
sex | 学生性别 | char(2) | YES | |
s_native | 籍贯 | varchar(50) | YES | |
birthday | 学生出生日期 | Smalldatetime | YES | |
续表
列名 | 描述 | 数据类型 | 允许空值 | 说明 |
dno | 学生所在院系编号 | char(4) | YES | 外键 |
classno | 班级号 | char(4) | YES | 外键 |
entime | 学生入校时间 | Smalldatetime | YES | |
home | 学生家庭住址 | varchar(50) | YES | |
tel | 学生 | char(12) | YES | |
表1.3.5 课程信息表Course_info的结构
列名 | 描述 | 数据类型 | 允许空值 | 说明 |
cno | 课程编号 | char(10) | NO | 主键 |
cname | 课程名称 | char(20) | NO | |
experiment | 实验时数 | tinyint | YES | |
lecture | 授课学时 | tinyint | YES | |
semester | 开课学期 | tinyint | YES | |
credit | 课程学分 | tinyint | YES | |
表1.3.6 学生成绩信息表SC_info的结构
列名 | 描述 | 数据类型 | 允许空值 | 说明 |
sno | 学生学号 | char(8) | NO | 主键(又分别是外键) |
tcid | 上课编号 | smallint | NO | |
score | 学生成绩 | tinyint | YES | |
表1.3.7 教师信息表Teacher_info的结构
列名 | 描述 | 数据类型 | 允许空值 | 说明 |
tno | 教师编号 | char(8) | NO | 主键 |
tname | 教师姓名 | char(8) | NO | |
sex | 教师性别 | char(2) | YES | |
birthday | 教师出生日期 | smalldate | YES | |
dno | 教师所在院系编号 | char(4) | YES | 外键 |
title | 教师职称 | char(14) | YES | |
home | 教师家庭住址 | varchar(50) | YES | |
tel | 教师电话 | char(12) | YES | |
表1.3.8 教师上课信息表TC_info的结构
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论