您的位置:首页 > 数据库

SQL server实验练习1

2020-06-29 05:03 1081 查看

SQL server实验练习1

(1)请根据下面描述,使用SQL语句完成数据库的创建
名称:stuDatabase
主数据文件:
逻辑文件名: Data_M
物理文件名:stuDatabase__M.mdf
初始大小:8M 递增:10% 限制文件增长:500M
次数据文件:
逻辑文件名:Data_ N1
物理文件名:stuDatabase__N1.ndf
初始大小:8M 递增:1M 限制文件增长:不限
日志文件:
逻辑文件名:Log_1
物理文件名:stuDatabase__L1.ldf
其他信息:默认

CREATE DATABASE stuDatabase
ON
PRIMARY
(NAME=Data_M,
FILENAME='D:\mydata\stuDatabase_M.mdf',
SIZE=8MB,
FILEGROWTH=10%,
MAXSIZE=500MB
),
(NAME=Data_N1,
FILENAME='D:\mydata\stuDatabase_N1.ndf',
size=8MB,
FILEGROWTH=1MB
)
LOG ON
(NAME=Log_1,
FILENAME='D:\mydata\stuDatabase_L1.ldf'
)

(2)为该数据库添加一个数据文件:
逻辑文件名:Data_N2
物理文件名:c:\Data\stuDatabase__N2.ndf
初始大小:6M 递增:1M 限制文件增长:不限
文件组:FG1

ALTER DATABASE stuDatabase
ADD FILEGROUP FG1
ALTER DATABASE stuDatabase –创建数据文件
ADD FILE
(NAME=Data_N2,
FILENAME='D:\mydata\stuDatabase_N2.ndf',
SIZE=6MB,
FILEGROWTH=1MB
)
TO FILEGROUP FG1

CREATE TABLE department
(dNO CHAR(6) CONSTRAINT dno_key PRIMARY KEY,	--院系号
dName nvarchar(20) not null,	--院系名称
dTel varchar(11),	--院系电话
CHECK (LEFT(dTel,3)='020')
)

CREATE TABLE majoy
(mNO char(6) CONSTRAINT mno_key PRIMARY KEY, --专业号
mName nvarchar(40) not null,	--专业名称
mFirSubject nvarchar(40) not null,	--一级学科
mSecSubject nvarchar(40),		--二级学科
dNO char(6) constraint no_Fore FOREIGN KEY REFERENCES department(dNO)  --院系编号
)

CREATE TABLE teachar
(tNO char(6) primary key,	--教师号
tName nvarchar(20) not null,	--姓名
tSex char(4) constraint Sex_Che check (tSex='男' OR tSex='女'),	--性别
tBirth smalldatetime,	--出生年月
tRank nvarchar(20),	--职称
)

(2)为teacher表添加一个字段,字段名称为:dNO,含义为院系编号,以便记录该教师所属的工作院系。

ALTER TABLE teachar
ADD dNO char(6)

(3)为teacher表添加一个参照完整性约束,外键字段为dNO,被参照字段为department(dNO)

ALTER TABLE teachar
ADD constraint no_Fore1 FOREIGN KEY(dNO) REFERENCES department(dNO) --院系编号

3、思考题
(1)如果要实现一个巨型表并行读取,以提高读取效率,应当如何借助文件组实现?
(2)参照完整性中的设置级联删除的主要危险是什么?
(3)完整性可以约束一个字段的取值,也可以约束同一个表中两个字段的联合取值,请问有没有必要实现约束分别来源于两个表中的两个字段的联合取值?请举例说明

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: