数据库实验报告4_4数据库实验报告

2020-02-27 其他范文 下载本文

数据库实验报告4由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“4数据库实验报告”。

实验四 数据完整性实验 & 实验八 视图的建立和维护

实验目的和要求:

掌握SQL SERVER 2000中实体、参照及用户自定义完整性约束定义 实验内容:

1.创建、删除约束

(1)在执行创建产品信息表的操作时,指定产品编号为主键值,并且创建一个聚簇索引。

create table products(id char(10)not null,name char(20)not null, price money default 0.01, quantity smallint null,constraint pk_id primary key clustered(id))

(2)创建一个学生信息表,其中输入性别字段值时,只能接受“F”或者“M”,并且为phonenum字段创建检查约束,限制只能输入类似01080798654之类的数据,而不能随意输入其他数据。

create table student(Id char(8), name char(8), sex char(2), phonenum int,constraint chk_sex check(sex in(’F’,’M’)),Constraint chk_phonenum check(phonenum like ‘(010)*0-9][0-9][0-9][0-9] [0-9][0-9][0-9][0-9+’))

(3)删除学生信息表中的约束chk_phonenum。

use master ALTER TABLE student DROP CONSTRAINT chk_phonenum;

2.建立一个商店的数据库store

记录顾客及其购物情况,由下面三个表组成: 商品(商品号,商品名,单价,商品类别,供应商); 顾客(顾客号,姓名,住址); 购买(顾客号,商品号,购买数量);

试用SQL语言完成下列功能: 建表,在定义中要求声明:(1)每个表的主外码;(2)顾客的姓名和商品名不能为空值;(3)单价必须大于0;(4)购买数量必须在0到20之间;

create database store on primary(name=store1, filename='D:store1.mdf', size=10mb, filegrowth=10%)log on(name='store1_log', filename='D:store1_log.ldf', size=1mb, maxsize=5mb, filegrowth=1mb)

USE store create table 商品

(商品号char(10)primary key, 商品名char(10)NOT NULL, 单价money check(单价>0), 商品类别char(10), 供应商 char(10)

USE store

create table 顾客

(顾客号char(10)primary key, 姓名char(10)NOT NULL,住址 char(10));

create table 购买

(顾客号char(10), 商品号char(10),购买int check(购买>0 and 购买

实验八 视图的建立和维护

实验目的和要求:

创建表的视图,修改和删除表的视图,并利用视图完成表的查询。

实验内容: 在实验七的教学数据库中,对三个基表S、C、SC进行如下操作: 1)建立男学生的视图schoolboy,属性包括学号、姓名和年龄。2)在视图schoolboy中查询年龄为19的学生学号与姓名。3)将学号为S2的年龄改为21。

4)向男学生视图schoolboy中插入一个新的男生记录,其中学号为S6,姓名为MING,年龄为20。

5)删除视图schoolboy中学号为S3的记录。

6)建立女学生的视图,属性包括学号、姓名、选修课程名和成绩。7)在女学生视图中查询平均成绩大于80分的学生学号与姓名。

8)删除女学生视图。

具体操作如下:

1)建立男学生的视图schoolboy,属性包括学号、姓名和年龄。

create view schoolboy as select S#,SNAME,AGE FROM S WHERE SEX = 'M';2)在视图schoolboy中查询年龄为19的学生学号与姓名。

SELECT S#,SNAME FROM schoolboy WHERE AGE=19;

3)将学号为S2的年龄改为21。

UPDATE schoolboy SET AGE=21 WHERE S#='S2';4)向男学生视图schoolboy中插入一个新的男生记录,其中学号为S6,姓名为MING,年龄为20。

INSERT INTO schoolboy VALUES('S6','MING',20);

5)删除视图schoolboy中学号为S3的记录。

DELETE FROM schoolboy WHERE S#='S3';

6)建立女学生的视图,属性包括学号、姓名、选修课程名和成绩。

create view schoolgirl as select S.S#,SNAME,C.C#,GRADE FROM S,C,SC WHERE S.S#=SC.S# AND SC.C#=C.C# AND S.SEX = 'F';

7)在女学生视图中查询平均成绩大于80分的学生学号与姓名。

SELECT S# ,SNAME FROM schoolgirl WHERE GRADE IS NOT NULL GROUP BY S#,SNAME HAVING AVG(GRADE)>80;

8)删除女学生视图。

DROP VIEW schoolgirl;

《数据库实验报告4.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
数据库实验报告4
点击下载文档
相关专题 4数据库实验报告 实验报告 数据库 4数据库实验报告 实验报告 数据库
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文