数据库实验报告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 学号: 11122604 姓名:陆亮第4周(第四章:数据更新、视图、嵌入式SQL部分自学)一、实验课:1.建立计算机学院总评不及格成绩学生的视图,包括学生学号、姓名、性别、......
数据库实验报告(四)姓名:学号:班级: 1.简单查询:SQL语句:select credit from course where course_name='SQL Server数据库开发技术'; (1) 查询“数据库开发技术”课程的学分;或......
数据库系统原理课程设计总结报告学院: 软件学院 专业: 软件工程 年级: 2009 学号: 20092647 姓名: 李野1、开发环境Windows7系统2、DBMS系统架构采用向量的存储结构存储数据字典......
实验一 PowerDesigner 的 CDM 应用1:实验目的使用PowerDesinger进行数据库概念模型设计,掌握CDM中的实体、实体属性、实体与实体之间联系的操作方法。 2:实验内容建立一个“实......
实验7 索引和数据完整性的使用1、目的与要求 (1) 掌握索引的使用方法;(2) 掌握数据完整性的实现方法;2、实验准备(1) 了解索引的作用与分类; (2) 掌握索引的创建方法;(3) 理解数据的完整性......