实验名称:建立模式、表和定义完整性约束。
实验内容:在实验1建立的数据库的基础上,参照图3-4和表3-10建立表和定义完整性约束。




实验目的:熟练掌握表的建立和数据完整性速描定义方法,实践DBMS提供的数据完整性功能,加深对数据完整性的理解。
实验方法:在实验一建立数据库的基础上用CREATE TABLE命令建立表并定义数据完整性约束,用ALTER TABLE命令修改表结构。
实验要求:
1.用CREATE SCHEMA命令建立模式(自己命名模式名称)。
2.在定义的模式下参照图3-4和表3-10使用CREATE TABLE命令建立表并定义完整性约束。
3.使用ALTER TABLE命令按如下要求修改表结构:
(1)为订购单增加一个新的字段“完成日期”,类型为日期时间型,默认是空值。
(2)为订单明细表的“数量”字段重新定义约束:大于0、小于等于1000的正整数,不允许为空值。
(3)将供应商表的供应商名字段的类型修改为varchar(30)。
实验者: 何小变
实验一建立的数据库:
**以上代码必须在英文全角的状态下输入**
CREATE DATABASE test1
ON
(NAME=TEST1,
FILENAME='D:/HE/DATA.mdf', //数据文件的存储位置。
SIZE=5, //可带单位可不带,默认单位为MB。
MAXSIZE=10,
FILEGROWTH=5) //存储空间的增长量,最大不能超过MAXSIZE-SIZE。
LOG ON
(NAME=TEST_LOG,
FILENAME='D:/HE/LOG.ldf', //此次是单引号引出存储地址。
SIZE=10MB,
MAXSIZE==20MB,
FILEGROWTH=10MB)
1.注意:建立模式和使用数据库的语句要一条一条的执行。
建立模式:
CREATE SCHEMA company
使用数据库test1:
USE test1 //需要使用数据库才能建表。
2.开始建表:
仓库表
CREATE TABLE company.仓库
(仓库号 char(6) PRIMARY KEY check(仓库号 like'[A-Z][A-Z][0-9][0-9][0-9][0-9]'), //注意:“-”号不能写成“~”号。
城市 char(10) UNIQUE NOT NULL,
面积 int check(面积>=50))
职工表
CREATE TABLE company.职工
(职工号 char(8) PRIMARY KEY check(职工号 like'[A-Z][A-Z][0-9][0-9][0-9][0-9][0-9][0-9]'), //此时另外对职工号进行约束,前两位为大写英文字母,后六位位数字字符。
仓库号 char(6) FOREIGN KEY REFERENCES company.仓库(仓库号),
工资 money check(工资>=1000 and 工资<=10000))// 工资约束也可写成(工资 between 1000 and 10000)
供应商表
CREATE TABLE company.供应商
(供应商号 char(4) PRIMARY KEY check(供应商号 like '[S][0-9][0-9][0-9]'),
供应商名 char(16),
地址 char(30))
订购单表
CREATE TABLE company.订购单
(职工号 char(8) FOREIGN KEY REFERENCES company.职工(职工号) NOT NULL,
供应商号 char(4) FOREIGN KEY REFERENCES company.供应商(供应商号), NULL
订购单号 char(6) PRIMARY KEY check(订购单号 like'[O][R][0-9][0-9][0-9][0-9]'),
订购日期 datetime default getdate(),
金额 money NULL )
订购单明细表
CREATE TABLE company.订购单明细
(订购单号 char(6) FOREIGN KEY REFERENCES company.订购单(订购单号) NOT NULL,
序号 char(2),
产品名称 char(20),
单价 money check(单价>0) null,
数量 int check(数量>0) not null,
primary key(订购单号,序号))
3.修改表结构:
(1)
ALTER TABLE company.订购单
ADD 完成日期 datetime NULL
(2)
ALTER TABLE company.订购单明细
ADD CONSTRAINT 数量 CHECK (数量 BETWEEN 0 AND 1000)
(3)
ALTER TABLE company.供应商
ALTER COLUMN 供应商名 varchar(30)
该实验旨在熟练掌握数据库中表的创建和数据完整性的定义,通过CREATE TABLE和ALTER TABLE命令操作。实验者需在已有的数据库基础上,根据指定的结构建立表并设置完整性约束,包括新增字段、修改字段类型及定义数值范围等。
2770

被折叠的 条评论
为什么被折叠?



