实验三 数据定义Word文档格式.docx
- 文档编号:17174011
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:22
- 大小:517.19KB
实验三 数据定义Word文档格式.docx
《实验三 数据定义Word文档格式.docx》由会员分享,可在线阅读,更多相关《实验三 数据定义Word文档格式.docx(22页珍藏版)》请在冰豆网上搜索。
在该行内,可以编辑列名、数据类型、精度和空否等列的基本属性。
可以在表设计器的列属性部分编辑列的其他属性。
只需单击表设计器上半部分的某行,然后添加或编辑出现在下半部分内的属性。
选择适当的数据类型,并设置长度。
(5)设置“允许空”选项,如果表的某一列被指定具有允许空属性,那么就允许在插入数据时省略该列的值。
反之,如果表的某一列被指定具有不允许空属性,那么就不允许在没有指定列默认值的情况下插入省略该值的数据行。
在SQLServer中列的默认属性是不允许为空。
(6)输入完成后,单击“保存”
图标,将弹出“选择名称”对话框。
将表名设定为Student,然后单击“确定”按钮,如图3.4所示。
图3.4“选择名称”对话框
(7)关闭“新建表”窗口,可以看到Student表已经出现在数据库中,如图3.5所示。
图3.5新建表结果
【例1】用MicrosoftSQLServerManagementStudio在数据库Student_test中建立Student表、Course表、SC表。
表结构如表3.1、表3.2、表3.3所示。
表3.1Student表
字段
字段名
说明
数据类型
1
Sno
主键
Char(9)
2
Sname
非空
Char(20)
3
Ssex
Char
(2)
4
Sage
Int
5
Sdept
(1)展开Student_test数据库,右击“表”图标,在弹出的快捷菜单中执行“新建表”菜单命令,建立Student表;
(2)输入各属性列,设置数据类型;
(3)设置主键:
选中Sno列,单击工具栏上的主键按钮
;
(4)设置非空:
选中Sname列,取消“允许空”复选框。
表3.2Course表
Cno
Char(4)
Cname
Char(40)
Cpno
外码
Ccredit
(1)展开Student_test数据库,右击“表”图标,在弹出的快捷菜单中执行“新建表”菜单命令,建立Course表;
选中Cno列,单击工具栏上的主键按钮
选中Cname列,取消“允许空”复选框。
(5)设置外码:
1选中Cpno列,点击鼠标右键,出现快捷菜单,如图3.6所示,选择“关系”菜单项。
将弹出“外键关系”对话框,如图3.7所示
图3.6设置外键
2在“外键关系”对话框中点击“添加”按钮,将新加一个关系,名为FK_Course_Course*。
图3.7“外键关系”对话框
3点击“表和列规范”前的加号,该项展开如图3.8所示。
点击右侧的
按钮。
图3.8“表和列规范”展开项
4在弹出的“表和列”对话框中分别设置“主键表”和“外键表”的相关属性,本例中设置主键表为Course,主键的字段为Cno,外键表为Course,外键的字段为Cpno。
如图3.9所示。
图3.9“表和列”对话框
5点击“确定”按钮,关闭“外键关系”对话框,完成外键的设置。
表3.3SC表
Grade
取值在0-100之间
(1)展开Student_test数据库,右击“表”图标,在弹出的快捷菜单中执行“新建表”菜单命令,建立SC表;
同时选中Sno列和Cno列,单击工具栏上的主键按钮
(4)设置Grade:
1选中Grade列,点击鼠标右键,出现快捷菜单,如图3.10所示,选择“CHECK约束”菜单项。
将弹出“CHECK约束”对话框,如图3.11所示
图3.10设置CHECK约束
2在“CHECK约束”对话框中点击“添加”按钮,将新加一个CHECK约束,名为CK_SC*。
图3.11“CHECK约束”对话框
3点击“表达式”前的加号,该项展开如图3.12所示。
图3.12“表达式”展开项
4在弹出的“CHECK约束表达式”对话框中输入约束表达式。
如图3.13所示。
图3.13CHECK约束表达式
5点击“确定”按钮,关闭“CHECK约束”对话框,完成CHECK约束的设置。
(5)分别设置Sno、Cno为外键,步骤与设置Cpno外键相同。
2.利用T-SQL语句通过SQL查询编辑器创建表
(1)CREATETABLE基本语法
CREATETABLE命令用来在一个数据库中创建表,其基本语法如下:
CREATETABLEtable_name
(Col_namecolumn_properties[,…])
其中:
table_name表的名称
Col_name列的名称
column_properties列的数据类型
(2)SQL查询编辑器简介
打开SQLServerManagementStudio后,可以在标准工具栏上单击“新建查询”按钮进入SQL查询编辑器,此时将使用当前连接打开一个查询编辑器窗口,如图3.14所示。
图3.14查询编辑器窗口
在查询编辑器中输入的代码根据其含义不同,所显示的颜色也不同。
表3.4列出了最常用的代码颜色与含义的对应关系。
表3.4查询编辑器的默认配色方案
颜色
含义
红色
字符串
蓝色
关键字
深绿色
注释
深红色
系统存储过程
粉色
系统函数
灰色
运算符
绿色
系统表
在查询编辑器中输入要执行的SQL语句后,单击“SQL编辑器”工具栏中的“执行”按钮或按F5键即可运行。
如图3.15所示。
图3.15执行按钮
(3)基本数据类型
1.整型数据类型
Int:
存放-231~231-1的所有整数;
Smallint:
存放-215~215-1的所有整数;
Tinyint:
存放0~255的所有整数;
Bigint:
存放-263~263-1的所有整数。
2.浮点数据类型
Float:
表示范围为-1.79×
10308~1.79×
10308;
Real:
表示范围为-3.40×
1038~3.40×
1038。
3.字符数据类型
char:
用来存放固定长度的非Unicode字符,其定义形式为char(n),期中n的值不能超过8000;
varchar(max):
用来存放不固定长度的非Unicode字符;
nchar:
用来存放固定长度的Unicode字符,其定义形式为char(n),期中n的值不能超过4000;
nvarchar(max):
用来存放不固定长度的Unicode字符;
4.日期和时间数据类型
Datetime:
用来存储日期和时间;
Smalldatetime:
与datetime数据类型类似,但其日期时间范围较小。
5.货币数据类型
Money:
可以存放正或负的货币值,小数点后总是4位。
【例2】用CreateTable语句在数据库Student_test中建立Student表。
CREATETABLEStudent
(SnoCHAR(9)PRIMARYKEY,/*列级完整性约束条件*/
SnameCHAR(20)UNIQUE,/*Sname取唯一值*/
SsexCHAR
(2),
SageSMALLINT,
SdeptCHAR(20)
);
在SQL编辑器中输入以上语句,选中后点击“执行”按钮,在下方消息框中显示“命令已成功完成”,点击左侧树形列表中的表,单击右键选择“刷新”,刷新后即可看到student表。
如图3.16所示。
图3.16执行CREATETABLEStudent
【例3】用CreateTable语句在数据库Student_test中建立Course表。
CREATETABLECourse
(CnoCHAR(4)PRIMARYKEY,
CnameCHAR(40),
CpnoCHAR(4),
CcreditSMALLINT,
FOREIGNKEY(Cpno)REFERENCESCourse(Cno)
图3.17执行CREATETABLECourse
【例4】用CreateTable语句在数据库Student_test中建立SC表。
CREATETABLESC
(SnoCHAR(9),
CnoCHAR(4),
GradeSMALLINT,
PRIMARYKEY(Sno,Cno),
/*主码由两个属性构成,必须作为表级完整性进行定*/
FOREIGNKEY(Sno)REFERENCESStudent(Sno),
/*表级完整性约束条件,Sno是外码,被参照表是Student*/
FOREIGNKEY(Cno)REFERENCESCourse(Cno)
/*表级完整性约束条件,Cno是外码,被参照表是Course*/
);
图3.18执行CREATETABLESC
二、修改表
1.用表设计器修改表
(1)登录到MicrosoftSQLServerManagementStudio,展开“数据库”菜单,选择要修改表的数据库。
(2)展开数据库,在要修改的表上单击右键,在弹出的快捷菜单中执行“修改”菜单命令,如图3.19所示。
图3.19“修改”菜单命令
(3)在出现的表设计界面修改属性即可,修改后保存。
如图3.20所示。
图3.20修改表结构
请用ManagementStuio完成以下练习:
【例5】在表Student中增加新字段“班级名称(Sclass)”;
(1)展开数据库,在Student表上单击右键,在弹出的快捷菜单中执行“修改”菜单命令;
(2)在设计界面输入Sclass字段和数据类型;
(3)保存修改。
【例6】在表Student中删除字段“班级名称(Sclass)”;
(2)在设计界面选中Sclass字段,点击右键,在弹出的快捷菜单中选择“删除列”;
【例7】修改表Student中字段名为“Sname”的字段长度由原来的20改为30;
(2)在设计界面选中Sname字段,将数据类型一列改为char(30);
【例8】修改表Student中字段“sdept”名称为“dept”,长度为20;
(2)在设计界面选中Sdept字段,将名称改为dept,将数据类型一列改为char(20);
【例9】修改表Student中Sage字段名称为Sbirth,类型为smalldatetime;
(2)在设计界面选中Sage字段,将名称改为Sbirth,将数据类型一列改为smalldatetime;
2.利用T-SQL语句通过SQL查询编辑器修改表
ALTERTABLE命令用来在修改表结构,其基本语法如下:
ALTERTABLEtable_name
[ADD<
新列名>
<
数据类型>
[完整性约束]]
[DROP<
完整性约束名>
][Dropcolumn<
列名>
]
[ALTERCOLUMN<
];
其中:
ADD子句:
增加新列和新的完整性约束条件
Dropcolumn:
删除列
DROP子句:
删除指定的完整性约束条件
altercolumn子句:
用于修改列名和数据类型
【例10】用AlterTable语句修改数据库Student_test中SC表的结构,增加Sname列数据类型为char(20)。
ALTERTABLESCADDSnamechar(20);
在SQL编辑器中输入以上语句,选中后点击“执行”按钮,在下方消息框中显示“命令已成功完成”,点击左侧树形列表中的SC表,单击“列”,即可看到修改后的表结构。
如图3.21所示。
增加后的Sname列取值为空值。
图3.21用ALTERTABLE修改后的表结构
【例11】用AlterTable语句修改数据库Student_test中SC表的结构,使Sname列取值唯一。
ALTERTABLESCADDUNIQUE(Sname);
【例12】用AlterTable语句修改数据库Student_test中SC表的结构,删除Sname列。
ALTERTABLESCDROPcolumnSname;
【例13】用AlterTable语句修改数据库Student_test中student表的结构,将sage由int型改为char
(2)。
ALTERTABLEstudentALTERCOLUMNsagechar
(2);
【例14】用AlterTable语句修改数据库Student_test中student表的结构,增加学生姓名必须取唯一值的约束。
ALTERTABLEStudentADDCONSTRAINTonenameunique(Sname)
【例15】用AlterTable语句修改数据库Student_test中student表的结构,删除学生姓名必须取唯一值的约束。
ALTERTABLEStudentdropCONSTRAINTonename
三、删除表
1.用表设计器删除表
(1)登录到MicrosoftSQLServerManagementStudio,展开“数据库”菜单,选择要删除表的数据库。
(2)展开数据库,在要删除的表student上单击右键,在弹出的快捷菜单中执行“删除”菜单命令,如图3.22所示。
图3.22“删除”菜单命令
(3)执行后,student表被删除。
【例16】删除数据表student;
展开数据库,在要删除的表student上单击右键,在弹出的快捷菜单中执行“删除”菜单命令即可
2.利用T-SQL语句通过SQL查询编辑器删除表
DROPTABLE命令用来删除表,其基本语法如下:
DROPTABLEtable_name
【例17】用DropTable语句删除数据库Student_test中SC表。
DROPTABLESC
【例18】用DropTable语句删除数据库Student_test中course表。
DROPTABLEcourse
实验习题:
请分别使用ManagementStuio及T-SQL完成以下内容:
【练习1】用MicrosoftSQLServerManagementStudio在数据库Hospital中建立office表、doctor表、patient表、charge表。
表结构如下表所示。
office表
Off_no
Off_name
doctor表
Doc_no
Doc_name
title
Char(10)
date
datetime
6
Emp_day
int
patient表
Pat_no
Pat_name
Age
Unit
charge表
SD_date
【练习2】创建教师授课管理数据库JSSK,并完成以下内容;
1)在数据库JSSK中创建下列三张表;
表名:
teachers
列名
描述
Tno
字符型,长度7
教师号
Tname
字符型,长度10
姓名
Tsex
字符型,长度2
默认取值为“男”
性别
Birthday
小日期时间型
允许空
出生日期
Dept
字符型,长度20
所在部门
Sid
字符型,长度18
身份证号
lessons
课程号
课程名
Credit
短整型
学分
property
字符型,长度为10
课程性质
shouke
Hours
整数
课时
2)在shouke表里添加一个授课类别字段,列名为Type,类型为Char,长度为4;
3)将shouke表的Hours的类型改为smallint;
4)删除lessons表中的property列;
【练习3】创建产品销售数据库CPXS,数据文件的逻辑文件名为cpxs_data,物理文件名为D:
\sql\cpxs.mdf;
文件初始大小为2MB,自动增长,每次增长1MB;
日志文件逻辑文件名为cpxs_log,物理文件为D:
\sql\cpxs.ldf;
文件初始大小2MB,自动增长,每次增长15%;
1)在数据库CPXS中创建下列三张表;
产品表(cp)表结构
Cpbh
字符型,长度6
产品编号
Cpmc
字符型,长度30
产品名称
Jg
浮点型,长度8
价格
Kcl
整型,长度4
库存量
销售商(xss)表结构
Xsbh
销售商编号
Xsmc
销售商名称
Dq
地区
Fzr
字符型,长度8
负责人
Dh
字符型,长度12
电话
Bz
文本,长度16
备注
产品销售(xss)表结构
Xssj
Datetime,长度8
销售时间
Sl
数量
Je
金额
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验三 数据定义 实验 数据 定义