数据库第二次实验文档
第二次数据库实验-创建和修改数据表及数据完整性

《数据库原理与应用》实验报告(实验名称:创建和修改数据表及数据完整性)专业班级学号学生姓名指导老师怀化学院计算机科学与技术系2111 年10 月 11日《数据库原理与应用》实验报告实验名称:创建和修改数据表及数据完整性一、实验目的熟悉有关数据表的创建和修改等工作,理解数据库模式的概念,了解主键约束、外键约束、UNIQUE约束和CHECK约束的创建和应用。
要求学生熟练掌握使用企业管理器和T—SQL语句CREATE TABLE、ALTER TABLE及DROP TABLE语句对数据表进行管理。
二、实验内容:1.在数据库company中创建以上五张表,并设置各表的主键。
2.在销售主表sales中添加字段“发票号码”invoice_no,char(10),NOT NULL。
3.添加外键约束:a)在销售主表sales的业务员编号字段sale_id上添加外键约束,参照字段为员工表employee中的字段员工编号emp_no,约束名为FK_sale_id。
b)在销售主表sales的客户号字段cust_id上添加外键约束,参照字段为客户表customer中的字段客户号cust_id,约束名为FK_cust_id。
c)在销售明细表sale_item的订单编号字段order_no上添加外键约束,参照字段为销售主表sales中的字段订单编号order_no,约束名为FK_order_no。
d)在销售明细表sale_item的产品编号字段prod_id上添加外键约束,参照字段为产品名称表product中的产品编号字段prod_id,约束名为FK_prod_id。
4.添加核查约束:a) 将员工表employee中的薪水字段salary的值限定在1000至10000间,约束名为CK_salary。
b) 将员工表employee中的员工编号字段emp_no设定为以“E”字母开头,后面跟4位数的编号,约束名为CK_emp_no。
数据库实验二41245

仲恺农业工程学院实验报告纸信息科学与技术学院网络工程专业 131 班组数据库原理及应用课学号 4123 姓名苏德实验日期教师评定实验二数据查询与修改一、实验目的1、掌握使用简单查询、连接查询以及嵌套查询完成数据查询的方法2、掌握应用SQL进行数据更新的方法;3、掌握视图的创建与更新方法。
二、实验内容第一部分:使用附加方式恢复数据库LibraryLib,完成如下各题:1、《数据库原理及应用实验指导》P45 1.数据查询练习(1)-(6)(1)查询各个超期罚款用户及其罚款总数,结果按罚款总数降序排列。
(2)查询已经超期一个月以上的还未归还图书的用户借书证编号。
(3)查询已经超期一个月以上的还未归还图书的用户名称、联系方式以及超期图书名。
(4)查询在同一天借阅了不同图书的用户借书证号。
(5)查询借书从来没有被超期罚款的用户信息。
(6)检索有图书所购册数大于或等于图书价格超过“50”的图书任一所购册数的图书的价格。
分析:先找出图书价格超过“50”的图书的所购册书假设a要查的是所购册数>= any a 的图书的价格第一部分:实验数据修改1.使用SQL语句向“用户信息表Users”中插入元组(用户标识:LiS;用户权限:1;密码:2;用户名称:李生;性别:男(0);部门:计算系;已借图书:0)。
问:本题可以省略into子句中的属性名吗如果要省略,需要注意什么2.向Publish(出版社信息) 表插入一条新的记录,在该记录中,出版社名为:国防工业出版社,地址为:北京市海淀大街籍海楼,出版社email为。
3.对每个出版社,求出所购图书总数和图书总价格,并把结果存入新建表“图书统计Temp_CNTBK”表中。
4.读者“ZouY”于今天通过管理员“LuoHH”借阅了一本“Visual FoxPro 及其应用系统开发”图书,使用T-SQL语句向Borrow表中插入该记录,并更改Book表中库存册书信息。
说明:本题有一定难度,请先思考如果插入这么一条记录,需要哪些信息,又如何获取到,关键是获取后将其存入一些变量中即可5.使用SQL语句将所有读者借书应归还日期向后延长一天。
数据库第二、三次实验

机械工业出版社
张建平
计算机应用
20
1003
计算机
电子工业出版社
王敏
数据库技术
15
1004
计算机
电子工业出版社
谭浩强
C 语言
25
1005
英语
中国人民大学出版社
张锦芯
应用文写作
25
1006
管理
高等教育出版社
Robison
管理学
15
1007
管理
机械工业出版社
Fayol
工业管理
70
1008
数学
机械工业出版社
②工程表:工程代码为主码
③零件表:零件代码为主码
④供应零件表:供应商代码、工程代码、零件代码为联合主码;
供应商代码为外码,参照表、列是供应商表的供应商代码列;
工程代码为外码,参照表、列是工程表的工程代码列;
零件代码为外码,参照表、列是零件表的零件代码列
实验数据如下:
供应商:
供应商代码
姓名
所在城市
联系电话
3.熟悉查询分析器的运行环境。
三.实验要求
1.在实验之前做好准备。
2.完成实验,并验收实验结果提交实验报告。
四.实验内容
所有查询都全部用SQL语句实现
1.在数据库EDUC中实现如下查询
1)求学生的总人数。
selectcount(*)'总人数'fromstudent
2)求选修了课程的学生人数。
selectcount(distinctsno)'选修了课程的人数'fromstudent_course
selectstudent.sno,student.sname,scorefromstudent,student_course
《数据库实验》实验二 数据操作实验

院系:计算机学院实验课程:数据库实验实验项目:数据操作实验指导老师:XXX开课时间:XXXX ~ XXXX年度第 2学期专业:XXXX班级:XXXX级本X班学生:XXX学号:XXXXXXXX实验二数据操作实验一、实验任务及目的1. 实验任务:上机完成实验内容,主要是编写、运行和分析SQL,请预先自行判断SQL 的运行结果(例如:查询结果包含哪些数据;更新后关系数据如何变化),然后与实际的运行结果比较,以此发现和修正SQL编写中的错误。
2. 实验目的:能够熟练使用MS SQL Server的Query Analyzer工具,联机运行SQL并观察分析SQL的执行结果。
掌握SQL的数据定义、数据查询和数据修改功能,能独立用SQL表述问题,解决较复杂的应用需求。
二、实验的主要硬件软件环境MS SQL Server、计算机磁盘三、实验主要数据结构线性表四、实验的主要算法1.至少向北京或天津的工程提供了零件的供应商名,供应的零件名、工程名和供应数量。
SELECT PNAME,JNAME,SNAME,QTYFROM S,P,J,SPJWHERE SPJ.SNO=S.SNOAND SPJ.JNO=J.JNOAND SPJ.PNO=P.PNOAND (J.CITY=’上海’ OR J.CITY=’天津’)2.供应红色零件给工程J1的供应商名SELECT SNAMEFROM S,P,SPJWHERE SPJ.JNO=’J1’AND SPJ.SNO=S.SNOAND SPJ.PNO=P.PNOAND COLOR=’红’3. 没有使用天津产的零件的工程号SELECT JNOFROM JWHERE JNO NOT IN(SELECT JNOFROM SPJ,SWHERE SPJ.SNO=S.SNOAND CITY=’天津’)4.没有向位于相同城市的工程供应零件的供应商名SELECT SNAMEFROM SWHERE SNAME NOT IN( SELECT SNAMEFROM S,J,SPJWHERE SPJ.JNO=J.JNOAND SPJ.SNO=S.SNOAND S.CITY=J.CITY)5. 和工程J3位于同一城市且使用过至少一种相同零件的其它工程名SELECT DISTINCT(JNAME)FROM J,SPJWHERE SPJ.JNO=J.JNOAND CITY IN(SELECT CITYFROM JWHERE J.JNO=’J3’)AND JNAME NOT IN(SELECT JNAMEFROM JWHERE J.JNO=’J3’)6. 每种颜色零件的总重量SELECT COLOR,SUM(WEIGHT)FROM PGROUP BY (COLOR)7.红色零件的平均重量SELECT AVG(WEIGHT)FROM PWHERE COLOR=’红’8.供应商最集中的城市(意即,哪个城市的供应商最多?)SELECT S.CITYFROM SGROUP BY (CITY)HAVING COUNT(CITY)>=ALL(SELECT COUNT(CITY)FROM SGROUP BY (CITY))9.对上海和天津,统计该城市的供应商一共供应了多少数量的零件。
北邮大三下第2次数据库实验报告--kingbase数据库的建立

1 实验二数据库表/视图的创建与维护实验一、实验内容1、数据库表实验:(1)创建数据库表创建学生选课数据库中所包含的数据库表,数据库表结构如下:学生(学号,姓名,性别,年龄,系别,班级)课程(课程编号,课程名称,学分)选修(学号,课程编号,学生成绩)要求为各数据库表属性选择合适的数据类型。
列名、数据类型(长度列、精度、小数位数项)、是否允许空值等。
(2)查看和修改表结构。
选择一个数据库表,练习对其表结构进行相应的修改。
(3)练习用交互式的SQL语句分别完成以上操作。
(4)对学生数据库中的三张表分别插入数据;(5)对表中的数据进行修改;(6)对表中的数据进行删除操作2、视图实验:视图的建立、修改、删除(1)建立如下视图:学生选修课程信息视图,包括以下内容:学生学号、姓名、所在系、选修的课程编号、课程名称、成绩(2)修改以上视图,增加学生所在班级信息。
(3)对以上视图删除。
二、实验要求(1)用交互式语句完成以上操作;(2)能够对整个的过程进行批命令操作;(3)要求学生独立完成以上内容。
(4)根据以上内容确定实验步骤。
(5)实验完成后完成要求的实验报告内容。
三、实验平台及环境Windows7 系统Kingbase ES V7软件平台四、实验步骤及结果分析1、数据库表实验:2 (1)创建数据库表创建学生选课数据库中所包含的数据库表,数据库表结构如下:学生(学号,姓名,性别,年龄,系别,班级)课程(课程编号,课程名称,学分)选修(学号,课程编号,学生成绩)创建“学生选课”数据库sql代码Create database “学生选课” withEncoding =’GBK’;创建“学生选课系统”模式:Create shema “学生选课系统”;在“学生选课系统”模式中建立表格“学生”:create table "学生选课系统"."学生”("学号" varchar(10) notnull,“姓名”varchar(10) notnull,“年龄”numeric(1,0) notnull,“系别”varchar(20) notnull,“班级” char (10) notnull,primary key ("学号"));(2)查看和修改表结构。
第2次报告_数据库上的基本操作实验课案

西安邮电大学(计算机学院)课内实验报告实验:数据库上的基本操作实验课程:数据库原理及应用A 班级:计科1405学号:************:*******:***一、实验目的1、掌握使用T-SQL 语句和企业管理器对数据表进行插入,修改和删除数据的操作,并体会数据完整性约束的作用,加深对数据完整性约束的理解。
2、熟练掌握INSERT、UPDATE 、DELETE 语句的语法和使用。
3、掌握SQL 的查询语句(SELECT语句)的使用方法,掌握简单表的数据查询、数据排序和多表操作时数据连接查询的操作方法。
4、进一步掌握SELECT 语句的使用的方法,通过实验能够熟练的使用SELECT语句。
5、掌握嵌套查询和统计查询的方法。
6、理解索引和视图的概念。
7、掌握索引的使用方法。
8、掌握视图的定义和使用方法。
二、实验内容1、分别使用T-SQL语句和企业管理器,向数据库JWGL, 数据库Market,数据库SPJ,数据库TSGL中的各张表中输入一些记录。
2、使用T-SQL 语句进行插入,修改和删除记录的操作。
3、简单查询操作。
包括投影,选择条件表达,数据排序等。
4、连接查询操作。
包括等值连接,自然连接,一般连接(内连接),外连接,左连接,右连接和自然连接等。
5、在数据库JWGL 的学生表Student,课程表Course,学生选课表SC 中完成第三章3.40-3.47 中的查询操作。
6、在数据库Market 的客户表Customers,货品表Goods,订单表Orders 中完成习题6中(6)-(9)的查询。
7、在数据库SPJ中的供应商表S,零件表P,工程项目表J,供应情况表SPJ 中,用SELECT 查询语句完成第 2 章习题10 中(4)-(5)的查询。
8、在数据库TSGL的图书,读者和借阅3个表中,用SELECT语句完成一些查询。
9、建立索引。
对JWGL数据库的学生选课表SC建立索引,要求按照Cno 升序、Grade降序建立一个名为SC_ind的索引。
数据库第二次实验

①查询借阅了类别为“环境”类图书的所有读者编号、姓名及单位;
②查询借阅过图书的读者编号、姓名及单位;
③查询姓名为“李明”的读者目前借阅的图书书号和书名;
④查询借书过期的所有读者姓名及所借图书名(假定借阅期为60天);
⑤查询没有借阅过图书的所有读者姓名;
⑥查询借出次数超过10次的所有图书的书号和书名;
⑦查询除已还的书以外,目前借了5本或以上图书的读者编号和姓名
⑧查询书库中除借出的图书外,现存的图书书号、书名、现存数量;
4 Defaul约束⑴
⑵
5、Check 约束⑴
⑵。
orderroom(2)

数据库第二次上机实验报告实验内容如下:1.insert into customer(customerid, customername, age,sex,cardname,cardid) values('11','黎平',30,'男','身份证','510786*********')2.selectcustomerid,customername,age,sex,cardname,cardid INTO customer1 FROM customer3insert into customer1selectcustomerid,customername,age,sex,cardname,cardidfrom customer4.update roomset price=300whereroomrid=15.delete from customerwherecustomerid = 00016.delete customer1truncate table customer1五.1.alter table customeradd constraint customer_customerid_pr primary key clustered (customerid)goalter table orderdetailadd constraint orderdetail_customerid_roomid_pr primary key clustered (customerid,roomid) goalter table orderdetailadd constraint customerid_pr foreign key (customerid) referencescustomer(customerid)2.alter table customeradd constraint cus_uniq unique (cardid)3.alter table customeradd constraint chksex check(sex in('男','女'))alter table customeradd constraint chkage check(age>0 and age<100)alter table roomadd constraint chksta check(state in('空闲','入住','停用'))4.alter table customeradd constraint defcardname default '身份证'for cardnamealter table orderdetailadd constraint defdate default getdate() for orderdate六、1.create view v_orderroomasselectcustomername,age,cardname,gread,room.roomrid,customer.cardid fromorderdetail join room on orderdetail.roomid=room.roomridjoin customer on customer.customerid=orderdetail.customerid andorderdetail.days>22.create procedure proc_averge@total int outputasselect @total=avg(price)from roomgodeclare @total intexecproc_averge @total output select @total as total4.drop view v_orderroom5.dropprocproc_averge七.1.2.3.4. 45.6.7.8.。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库第二次实验文档
实验目的:
1、掌握数据库用户创建方法,
2、熟练掌握基本的SQL查询与更新语句
3、了解图像化PL/SQL Developer工具对数据库进行基本操作。
实验内容:
1、通过DDL语句创建新用户和相应密码的设置。
2.、根据给定的表结构和表数据信息,通过SQL语言建立相应的
数据表,并导入数据;
3、通过SQL查询语句,实现对数据信息的高级查询与统计。
4、通过图像化PL/SQL Developer工具创建表,来熟练掌握使用
PL/SQL Developer工具。
实验步骤:
1.通过DDL语句创建用户
要对oracle数据库用户及用户所使用的系统资源和系统安全进行有效管理的第一步就是创建oracle用户。
Oracle数据库管理系统构筑的第一道安全防线就是只允许合法的用户进入oracle数据库系统。
创建用户(CREATE USER)语句来创建一个用户,需要注意的是创建新的用户需要数据库管理员(DBA)身份才能创建,一般的用户没有此权限。
CREATE USER语句的简单格式如下:CREATE USER 用户名IDENTIFIED BY 口令;
DBA用户登陆:conn sys/密码as sysdba;
普通用户登陆:conn 用户名/密码;
创建新用户:(必须具备DBA权限的用户)create user 用户名identified by 密码;
Grant 权限to 用户名。
2. 通过SQL语句创建表和操作表
DROP TABLE department;
CREATE TABLE department
(
dno char (6) PRIMARY KEY, --院系编号(主键)
dname varchar (20)NOT NULL, --院系名称
dean varchar (8),--院系负责人
addr varchar (40), --院系办公地址
phone varchar(40)--联系电话
);
DROP TABLE student;
CREATE TABLE student
(
sno char (8)PRIMARY KEY, --学生学号(主键)
sname varchar (8) NOT NULL, --学生姓名
sex char (2), --学生性别
native varchar (20), --籍贯
birthday date , --学生出生日期
dno char (6), --学生所在院系编号(外键)
classno char (4), --班级号
entime date, --学生入校时间
homeAddr varchar (48),--学生家庭住址
phone varchar (11) --学生联系电话
);
1.修改
ALTER TABLE department MODIFY dean varchar(10); RENANME student TO student1;
2.添加
添加数据:
INSERT INTO department
(dno,dname,dean,addr,phone)
VALUES('590000','软件学院','张中华','长沙市','8305682');
INSERT INTO student
(sno,sname,sex,birthday,dno,classno)
VALUES
('20080001','李毅','男',
to_date('1985-1-2','yyyy-mm-dd'),'590000','0801');
更新表中的数据:
例如,将李毅的性别改为女,如下:
UPDATE student SET sex='女'where sname='李毅';
删除表中的数据:
例如,删除student表中tno为20080001的学生信息:
DELETE FROM student WHERE sno='20080001';
3.选出student表中的所有数据:
SELECT * FROM department;
4.选出student表中的部分属性:
1、选出student表中所有性别为女的学生的学号,姓名:SELECT sno,sname, FROM student WHERE sex='女';
2、选出student表中1993年1月1日以后出生的学生:
SELECT* FROM student
WHERE to_char(birthday,'yyyy/mm/dd')>'1993/01/01'
3、以下两个使用了模糊查询:%代替任意个字符,_代表一个字符:
SELECT sno,sname FROM student WHERE sname LIKE'吴%';
SELECT sno,sname FROM student WHERE sname LIKE'李_';
4、多个条件查询:
SELECT sno,sname,sex,birthday
FROM student
WHERE (dno='590000')AND
(to_char(birthday,'yyyy/mm/dd')>'1993/01/01');
5、以下三句为排序,DESC为降序,ASC为升序:
SELECT sno,sname,sex,birthday,dno FROM student
ORDER BY dno,birthday DESC;
--降序
SELECT sno,sname,sex,birthday FROM student
ORDER BY birthday ASC;
--升序
3.通过图像化工具创建和操作表
PL/SQL Developer是由荷兰的Allround Automations公司开发的一个图形工具,这是一个为oracle开发人员提供的工具。
PL/SQL Developer的安装非常简单,只要双击它的安装程序,之后在提示时输入安装码,其他的基本上都是单机“下一步“按钮。
1、登录PL/SQL Developer图形化工具
双击软件图标,进入登陆界面,选择数据库名,“连接为”对于一般的用户选择normal密码登入软件
2、创建表
登录后会弹出如下窗口,在左边的下拉菜单选项选上“MY Objects”点开“Tables”文件夹可以看到该用户所有的表,右键可以进行新建和查看表等操作。
可以通过“Tables”上右击建表,也可以通过菜单“File”—>“New”—>“Table”来建表,通过此种方法,快速建立本实验中的两个表。
我们可以通过选项“键”来设置主键,通过“索引”来创建对应列的索引。
3、执行SQL语句
选择菜单“File”—>“New”—>“Command Window”,可以打开命令行窗口,对数据库进行命令操作。
打开“Command Window”后,界面如下:
小结:
通过本次实验,对于DDL语言和SQL语言的使用更加熟悉.对PL/SQL Developer 的使用更加熟悉.。