2013《数据库原理及应用》实验报告答案 下载本文

2013《数据库原理及应用》实验报告答案

实验2数据定义 1,实验目的

1,掌握数据库引擎的使用,加深对SQL语句的理解;2.使用SQL语句创建数据库,删除数据库

3,并掌握DDL语言数据定义操作,包括CREATE、ALTER、DROP 2、实验内容

在SQL查询分析器中用CREATE、DROP、ALTER语句创建、删除、修改基本表 3,实验步骤

1,根据教科书中的说明,分析S表、P表、J表和SPJ表的主要代码和外部代码:

(1) S表、P表和J表,哪些属性分别是S表、P表和J表的主要代码,三个表中是否有外部代码?如果是,请写下来主代码

S表,主代码SNO P表,主代码PNO J表,主代码JNO,没有外部代码

(2)哪个属性组是spj表的主代码组成的?SPJ表中有多少外部代码,它们是哪些属性?哪些表的哪些属性被单独引用? SPJ主代码(SNO、PNO、JNO)

外部代码SNO指S表的SNO,外部代码PNO指P表的PNO,外部代码JNO指J表的JNO

2。创建一个新的SPJ数据库,并在SPJ数据库中创建标准、P、J

和SPJ表(1)要创建供应商表s的sql语句,需要设置主代码:create table s(

SnO char(4)primary key,snamevarchar (40),statussmallint,city varchar(20));

(2)创建零件列表P的sql语句,要求设置主代码并将约束命名为P _ PK: 创建表P (

PNOCHAR (4)约束P _ PK主键,PNAMEVARCHAR (40),Colorchar (2),权重Smallint

(3)创建项目表j的sql语句,要求设置主代码并将其命名为j _ PK:创建表j (

jnochar (4)约束j _ PK主键,jname varchar (40),city varchar(20)); (4)创建基本表供应情况表SPJ的sql语句,要求设置主代码和外部代码:创建表SPJ(

Snochar(4)REFERENCES(SnO),Pnochar (4) References P (Pno),JNO CHAR(4) REFERENCES J(JNO),QTY SMALLINT, PRIMARY KEY(SNO,Pno,JNO));

3。在窗口下键入DROP TABLE S命令,并在运行后观察结果。(1)运行结果如何?无法执行 (2)为什么会出现这种结果? 破坏引用完整性

4。打开S表,将第一行数据输入到S表中(1)如何保存输入数据?

(2)如果在输入第二行数据时不输入属性SNO的值,会发生什么情况?为什么?

不能对实体完整性执行

5。在S表中添加一个新字段“TEL”。数据类型为char(11) (1)sql语句:

ALTER TABLE S ADDTELCHAR(11) (2)观察属性TEL的值,该值为空

6。将S表中属性SNAME的数据类型修改为变量(20),其sql语句为

ALTER TABLE S ALTER COLUMN SNAME变量(20); 7。删除s表中属性TEL的SQL语句: alter table SDR opcolumntel;

8。将约束C1添加到p表:零件重量必须介于0和100之间,并且其SQL语句:

更改表p添加检查(重量介于0和100之间);9.验证完整性约束: (1)输入S表中的第一条记录。如果您在S表中输入“S1含锡量”的记录,您能输入它吗?为什么? 不能,主键值是唯一的

(2)将第一条记录分别输入到P表、J表和SPJ表中。如果你把第二条记录输入SPJ表,它能实现吗?为什么?不,反对参照完整性

(3)此时我可以删除S表中的第一条记录吗?为什么? 不能违反引用完整性

(4)在P表中输入记录“P7,档位,蓝色,150”。这可能吗?为什么?否,违反了CHECK约束

4。实验总结(实验过程中遇到了什么问题?如何解决它?)

实验3单表查询 1,实验目的

1,掌握数据库引擎的使用,加深对SQL语句的理解;2.使用SELECT语句查询单个表数据;3、掌握简单的表格数据查询、数据排序操作方法第二,实验内容

1,使用SELECT语句完成简单的查询操作

2,实验内容包括投影、选择条件表达、数据排序、查询结果分组等。三、实验步骤

1,查询所有供应商的名称和城市 Sql语句:

选择SNAME,CITY FROM S;2.查询所有零件的名称、颜色和重量 Sql语句:

select color,weightfromp3.查询S1供应商提供的零件的工程编号

Sql语句:

从spjwhere sno =‘ s1 ‘中选择jno4.查询名称为“工厂”的项目的详细信息 Sql语句:

从jwhere jnamelike“% factory %”中选择*。5.查询所供零件的供应商编号 Sql语句:

选择distinct snofromspj。6.询问重量在10到20之间的红色零件 Sql语句: 从p

中选择*,其中权重介于10和20之间,color = ‘ red7.查询所有零件的名称,并按重量降序排列 Sql语句:

按重量从订单中选择名称;8.查询长春、北京或天津的项目详情 Sql语句:

select * from jwhere city in(‘长春’,’北京’,’天津’);9.查询零件列表中零件的平均重量 Sql语句:

从P选择AVG(重量);10.计算每个供应商提供多少零件 Sql语句:

selectsno,sum(qty)num by SnO来自spjgroup11.找出哪些项目至少使用三个或更多的部分。

Sql语句: 从spj

组中选择jno,按jno计数(不同的pno)> = 3;12.查询至少200个P1零件的供应商编号 Sql语句:

通过snohavingsum(数量)> = 200从spjwhere pno =‘ P1 ‘组中选择sno