《数据库原理及应用》实验指导4
数据库原理及应用实验指导

数据库原理及应用实验指导数据库原理及应用实验指导一、实验目的:1. 了解数据库的基本概念和原理;2. 掌握SQL语言的基本使用和操作方法;3. 学会使用数据库管理系统进行数据库的创建、插入、查询、修改和删除等操作。
二、实验内容:本次实验将围绕数据库的原理及应用展开,包括数据库的基本概念、数据库的设计原则、数据库的范式理论、SQL语言基础、数据库管理系统的使用等内容。
通过实际操作,学生能够更深入地理解数据库的工作原理,并且掌握数据库的基本操作方法。
三、实验步骤:1. 数据库基本概念1.1 什么是数据库?数据库是指一个按照数据模型组织、描述和存储数据的计算机软件,具有较好的数据管理性能。
数据库是实现数据共享和数据集成、并进行数据分析和决策的重要工具。
1.2 数据库的分类根据数据模型的不同,数据库可以分为层次数据库、网状数据库和关系数据库等不同类型。
1.3 数据库的特点数据库具有数据的共享性、冗余性小、数据独立性、数据一致性、数据安全性和故障恢复等特点。
2. 数据库设计原则2.1 单一职责原则每个数据表应该有一个明确的用途,只负责存储某一类数据。
2.2 数据冗余原则尽量避免数据冗余,减少存储空间和数据更新时的复杂度。
2.3 数据库范式理论范式理论是数据库设计的基础,包括第一范式、第二范式、第三范式等。
通过标准化设计,可以减少数据冗余,提高数据库的性能和可维护性。
3. SQL语言基础3.1 SQL语言的基本介绍SQL是结构化查询语言的缩写,是一种用于数据库管理系统的查询和程序设计语言。
3.2 SQL语句的分类SQL语句可以分为数据定义语句(DDL)、数据操作语句(DML)和数据查询语句(DQL)等不同类型。
3.3 SQL语句的基本操作方法包括数据库的创建、数据表的创建、数据插入与删除、数据查询和更新等操作。
四、数据库管理系统的使用4.1 数据库管理系统的概念数据库管理系统是一种用于管理数据库的软件系统,包括数据库的创建、数据的插入、查询、更新和删除等操作。
数据库原理与应用 实验指导书--2010-10(本科16学时)

(3)使用Transact-SQl语言修改course表所插入的数据,将课程编号为1001的课程学时改为60,学分改为4。
(4)使用SQL Server Management Studio实现对score表中学号为2008020101和课程编号为1001记录行的成绩改为90。
Store库存表
字段名
说明
数据类型与长度
完整性约束
Pno
零件号
Char(6)
主码
Pname
零件名称
Varchar(20)
Not null
Ptype
零件类别
Char(2)
Pnum
零件数量
Int
取值大于0
Order订单表
字段名
说明
数据类型与长度
完整性约束
Ono
订单号
Char(6)
主码,
Cno
用户编号
Varchar(6)
将数据库OrderMag1重命名为OrderMag。在查询编辑器中键入使用命令sp_renamedb。
在查询编辑器中键入使用命令drop database删除数据库OrderMag2。
6、在创建的OrderMag数据库中建立如下三张表:
1)Store(Pno, Pname,Ptype,Pnum)
库存(零件号,零件名称,零件类别,零件数量)
(1)使用Transact-SQl语言实现对course表插入两行数据,具体数据如下;
课程编号:1001;课程名:C语言;学时:45;学分:3;任课部门编号:01。
课程编号:1002;课程名:高等数学;学时:60;学分:4;任课部门编号:02。
《数据库原理及应用》实验指导书

《数据库原理及应用》实验指导书实验一数据库的建立实验目的:掌握数据库的创建、基本表的创建和数据插入的方法实验要求:使用Oracle 11g进行数据库的创建、基本表的创建和数据插入实验条件:计算机,Oracle 11g实验内容:1、假设你是DBA,需要定义系统中的所有表。
试根据下面给出的关系模式,用SQL完成数据表的建立。
假设“阿里巴巴”酒店数据库中有如下的几个关系模式:(1)客户个人信息(身份证号,姓名,性别,年龄,工作单位)(2)客户入住信息(身份证号,客房号,入住时间,退房时间)(3)客房(客房号,客房类型号)(4)定价(客房类型号,客房类型名,单价)(5)订票(身份证号,机票号,订票时间)(6)机票(机票号,起始地,目的地,起飞时间,到达时间,机票价格,机票状态,航空公司号)注:机票状态只有三种 0:未出票1:已出票,但未被客户取走2:已出票且已被客户取走(7)航空公司(航空公司号,航空公司名,电话)(8)雇员(雇员号,姓名,雇员年龄,雇佣日期,被投诉次数)(9)打扫(雇员号,客房号)说明:数据库表中各个字段的数据类型及宽度,请根据实际情况自定。
数据库名、表名、字段名中英文均可,但需要有一定的实际含义。
2、试根据下面的完整性约束要求,用SQL对上面已经建立好的“阿里巴巴”酒店数据库表进行完整性约束定义。
(1)雇员的年龄必须大于20岁小于55岁,被投诉次数不能超过10次。
(2)客户的性别只能是“男”或“女”。
(3)客户每次入住的客房号和入住时间不能为空。
(4)各种类型客房的定价不得低于100元,也不得高于2000元。
(5)机票的状态只能有三种:0:未出票1:已出票,但未被客户取走2:已出票且已被客户取走实验二数据库的查询、更新实验目的:掌握数据库的查询、更新的方法实验要求:使用Oracle 11g实现数据库的查询、更新操作实验条件:计算机,Oracle 11g实验内容:1、试用SQL完成下面10个查询操作。
数据库原理及应用实验指导★---实验4_SQL语言——SELECT查询操作[1]
![数据库原理及应用实验指导★---实验4_SQL语言——SELECT查询操作[1]](https://img.taocdn.com/s3/m/3c9fb119fad6195f312ba66a.png)
实验4 SQL 语言——SELECT 查询操作1实实验验44 S S Q Q L L 语语言言————S S E E L L E E C C T T 查查询询操操作作实验示例实验示例中要使用包括如下三个表的“教学管理”数据库JXGL :(1)学生表Student ,由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,记作:Student(Sno,Sname,Ssex,Sage,Sdept),其中主码为Sno 。
(2)课程表Course ,由课程号(Cno)、课程名(Cname)、先修课号(Cpno)、学分(Ccredit)四个属性组成,记作:Course(Cno,Cname,Cpno,Ccredit),其中主码为Cno 。
(3)学生选课SC ,由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,记作:SC(Sno,Cno,Grade),其中主码为(SNO,CNO)。
1、在SQL SERVER 查询分析器或企业管理器(以具有相应操作权限的某用户登录)的SQL 操作窗口中执行如下命令创建数据库。
需要说明的是不同数据库系统其创建数据库的命令或方式有所不同。
CREATE DATABASE JXGL2、刷新数据库目录后,选择新出现的JXGL 数据库,在SQL 操作窗口中,创建Student 、SC 、Course 三表及表记录插入命令如下:Create Table Student( Sno CHAR(5) NOT NULL PRIMARY KEY(Sno),Sname VARCHAR(20),Sage SMALLINT CHECK(Sage>=15 AND Sage<=45),Ssex CHAR(2) DEFAULT '男' CHECK (Ssex='男' OR Ssex='女'),Sdept CHAR(2));Create Table Course( Cno CHAR(2) NOT NULL PRIMARY KEY(Cno),Cname VARCHAR(20),Cpno CHAR(2),Ccredit SMALLINT);Create Table SC( Sno CHAR(5) NOT NULL CONSTRAINT S_F FOREIGN KEY REFERENCES Student(Sno), Cno CHAR(2) NOT NULL,Grade SMALLINT CHECK ((Grade IS NULL) OR (Grade BETWEEN 0 AND 100)),PRIMARY KEY(Sno,Cno),数据库原理与应用实验指导2FOREIGN KEY(Cno) REFERENCES Course(Cno));INSERT INTO Student VALUES('98001','钱横',18,'男','CS');INSERT INTO Student VALUES('98002','王林',19,'女','CS');INSERT INTO Student VALUES('98003','李民',20,'男','IS');INSERT INTO Student VALUES('98004','赵三',16,'女','MA');INSERT INTO Course VALUES('1','数据库系统', '5',4);INSERT INTO Course VALUES('2','数学分析',null ,2);INSERT INTO Course VALUES('3','信息系统导论','1',3);INSERT INTO Course VALUES('4','操作系统原理','6',3);INSERT INTO Course VALUES('5','数据结构','7',4);INSERT INTO Course VALUES('6','数据处理基础',null,4);INSERT INTO Course VALUES('7','C 语言','6',3);INSERT INTO SC VALUES('98001','1',87);INSERT INTO SC VALUES('98001','2',67);INSERT INTO SC VALUES('98001','3',90);INSERT INTO SC VALUES('98002','2',95);INSERT INTO SC VALUES('98002','3',88);[例1] 查考试成绩大于等于90的学生的学号。
数据库原理实验4指导书

一实验题目:统计查询和组合查询二实验目的:加深对统计查询的理解,熟练使用聚簇函数三实验内容及要求:(从下面10个题目中选一个)题目一:学生(学号,年龄,性别,系名)课程(课号,课名,学分,学时)选课(学号,课号,成绩)根据上面基本表的信息完成下列查询。
1 查询选修了数据库原理的学生的人数和平均成绩。
2 查询选修3门课以上的学生姓名。
3列出人数超过1000人的系名。
4 查询所有课程都及格的学生姓名。
题目二:图书(书号,书名,价格,出版社)读者(卡号,姓名,年龄,所属单位)借阅(书号,卡号,借阅日期)根据上面基本表的信息完成下列查询。
1 查询书号为tp0103被借阅次数。
2 查询工作单位在计算机系的读者姓名和借阅次数。
3 查阅年龄50以上借阅次数2次以下的读者信息。
4 查询从来没被借阅的图书信息。
题目三:商品(编号,品名,进价,库存,售价,厂商编号)顾客(卡号,姓名,电话,积分)厂商(编号,厂址,名称、电话)销售(顾客卡号,商品编号,数量,日期)根据上面基本表的信息完成下列查询。
1 查询积分最高的顾客姓名2 查询销售数量1000以上的商品的厂商电话。
3 查询生产商品5种以上的厂商信息。
4 查询没有顾客买的商品信息。
题目四:图书(书号,书名,作者编号,价格,出版社编号)作者(编号,姓名,电话)出版社(编号,出版社名称,地址)根据上面基本表的信息完成下列查询。
1 统计各出版社出版图书的数量。
2 列出多人合著的图书书号和价格。
3 列出高教出版社出版的最贵图书信息。
4 列出所有图书都是30元以上的出版社名称。
题目五:零件(编号,名称,颜色,生产车间号)车间(编号,名称,人数,主任)产品(编号,名称,类型)生产(产品编号,生产车间号)使用(产品编号,使用零件编号,个数)根据上面基本表的信息完成下列查询。
1 列出各种颜色零件的个数。
2 查询生产产品3种以上的车间名称。
3 查询使用2种红色零件的产品信息。
4 查询没有被任何产品使用的零件信息。
数据库原理与应用实验报告四

计算机工程系实验报告学生信息系别计算机学院专业计算机科学与技术班级17计科2+2 姓名徐浩俊学号2017031601025实验信息课程名称数据库原理与应用实验名称实验4 数据操作实验时间指导教师文琦批改情况成绩评阅教师文琦实验目标:1.掌握各种录入数据至数据库表的方法。
2.掌握修改数据库表中数据的方法。
3.掌握删除数据库表中数据的方法。
4.掌握复制数据库表的方法。
实验结果:利用shiyan4.sql文件中的脚本生成相应的数据库及数据表。
1.根据实验3.1步骤完成从Eecel工作表(非SQL Server数据源数据)导入SQL Server数据库表的方法(注意学生表S结构已存在),回答以下问题。
①请从素材中选择自己班级的Excel表格,若表格不满足数据库中的关系则需要稍加修改,再将表里的数据导入学生表S中。
导入是否会遇到问题?如何解决?无法直接映射,需要修改表格。
只保留一行名称。
②请将最后导入在数据库的数据截图。
③有无更简单的方法?有,直接在编辑表中粘贴数据。
2.将数据库表T的数据交互式录入并截图说明。
(P46)3.请使用SQL语句完成数据库表C的数据录入,将相应的SQL语句及最终存储的数据截图说明。
可否用一条insert into语句一次插入多行数据,如有,请描述相应的SQL语句。
USE jxskGOINSERT INTO C VALUES('C1','程序设计','60')GOUSE jxskGOINSERT INTO C VALUES('C1','课程1','60'),('C1','课程2','80'),('C1','课程3','100')GO4.完成实验3.2后,思考利用SQL语句完成以下问题。
①现将信息系归为计算机系,数据表T中哪些数据需要修改,请使用SQL 语句完成,并将最终修改后的数据截图。
数据库原理及应用实验报告4

数据库原理及应用实验报告金融0901 薛骏翔0807090132 实验12 SQL Server安全管理实验目的:掌握创建登录账号的方法;掌握创建数据库用户的方法;掌握语句级许可权限管理;掌握对象级许可权限管理实验内容:12.1实验题目:创建登陆账号实验过程:1)创建使用Windows身份验证的登录账号WinUser2)创建使用SQL Server身份验证的登录账号SQLUser,设置可访问数据库jxsk实验结果:12.2实验题目:创建数据库用户实验过程:1)为登陆账号WinUser创建访问MXM实例中数据库jxsk的用户账号2)为登陆账号SQLUser创建访问MXM实例中所有数据库的用户账号实验结果:12.3实验题目:语句级许可权限管理实验过程:1)展开实例MXM中数据库节点,右击jxsk,选属性项2)授予用户WinUser只可以在数据库jxsk中创建视图和表3)授予用户SQLUser权限:不允许用户SQSUser在数据库jxsk 中创建视图和表,但允许其他操作。
实验结果:12.4实验题目:对象级许可权限管理实验过程:1)授予用户WinUser 对数据库jxsk 表S 的INSERT,UPDATE 权限2)授予用户SQLUser 对数据库jxsk 表S 的INSERT 权限;废除对表S 的UPDATE 权限3)授予用户WinUser 对数据库jxsk 表S 的列SNO 的SELECT,UPDATE 权限,对SN 的SELECT 权限实验结果:实验13 SQL Server事务设计实验目的:1,理解和掌握事务的概念、特性以及事务的设计思想。
2,学习和掌握事务创建、执行的方法。
13.1 实验题目:设计并执行事务实验过程:基于数据库jiaoxuedb进行下面设计:(1)设计并执行事务1:将学生陈东辉的计算机基础课程成绩改为77分。
(2)设计并执行事务2:将课程数据结构的课号与微机原理的课号互换。
(3)设计并执行事务3教师许永军退休,由他讲授的2门课程中,课程微机原理转给教师张朋讲授,数据库转给李英讲授。
《数据库原理及应用》实验指导

理学院信科08—2班陈先国实验1 创建数据库与数据表下面写出实现如下操作的SQL语句:(1)创建供应系统“GYXT”数据库。
CREATE DATABASE GYXTON(NAME=GYXT_data,FILENAME=’D:\GYXT.mdf’,SIZE=10,MAXSIZE=50,FILEGROWTH=5)LOG ON(NAME=GYXT_Log,FILENAME=’D:\GXTYData.ldf’,SIZE=5,MAXSIZE=25,FILEGROWTH=5);(2) 建立供应商表S。
CREATE TABLE S( SNO char(5)not null unique,SNAME char(20)not null unique,CITY char(20));INSERT INTO S VALUES('S1','精益','天津');INSERT INTO S VALUES('S2','万胜','北京');INSERT INTO S VALUES('S3','东方','北京');INSERT INTO S VALUES('S4','丰泰隆','上海');INSERT INTO S VALUES('S5','康健','南京');(3) 建立零件表P。
CREATE TABLE P(PNO char(2)not null PRIMARY KEY(PNO),PNAME char(20),COLOR char(20),WEIGHT smallint);INSERT INTO P V ALUES('P1','螺母','红',12);INSERT INTO P V ALUES('P2','螺栓','绿',17);INSERT INTO P V ALUES('P3','螺丝刀','蓝',14); INSERT INTO P V ALUES('P4','螺丝刀','红',14); INSERT INTO P V ALUES('P5','凸轮','蓝',40); INSERT INTO P V ALUES('P6','齿轮','红',30);(4) 建立工程项目表J。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据库原理及应用》实验指导书——实验4 数据库视图的定义及维护
一.实验目的:掌握视图的定义与维护操作,加深对视图在关系数据库中作用的理解。
二.相关知识:视图是根据子模式建立的虚拟表。
一个视图可以由一个表构造,也可以由多个表构造。
利用企业管理器和视图创建向导进行创建,查看和修改视图就如同对表的操作一样,非常容易。
三.实验内容
本实验的主要内容是:
1)创建和删除视图
2)查询和更新视图
具体完成以下例题。
例1 建立计算机系学生的视图。
例 2 建立计算机系学生的视图,并要求进行修改和插入操作时仍须保证该视图只有计算机系的学生。
例3 建立计算机系选修了’1’号课程的学生视图
例4 建立计算机系选修了’1’号课程且成绩在90分以上的学生视图
例5 定义一个反映学生出生年份的视图
四.实验步骤
1.创建视图:下面利用了SQL Server中提供的视图创建向导,来实现例1(建立计算机系学生视图)。
1)打开企业管理器,确认服务器,打开数据库文件夹,选中新视图所在的数据库(此例为学生课程数据库)。
2)选择菜单:[工具]|[向导]
3)在如图1所示的向导选择对话框中,单击数据库左边的“+”号,使之展开。
选择“创建数据库向导”项,单击“确定”。
图1 向导选择对话框
4)进入创建视图向导后,首先出现的是欢迎使用创建视图向导对话框,其中简单介绍了该向导的功能。
单击“下一步”后,就会出现选择数据库对话框。
5)在选择数据库对话框中,选择视图所属的数据库。
本例的数据库为“学生课程”。
单击“下一步”按键,则进入选择表对话框。
6)在选择表对话框中,列出了指定数据库中所有用户定义的表。
用户可以从中选择构造视图所需的一个表或者多个表,被选中的表成为构造视图的参考表。
选择构造视图参考表的方法是:用鼠标单击表后的“包含在视图中”列,使复选框为选中状态。
单击“下一步”按键,则进入选择对话框。
7)列选择对话框中以表格形式列出了创建视图参考表的全部属性,每个属性占表的一行,创建视图参考属性可以在表格中选出。
选择视图参考属性的方法是用鼠标单击属性名后边的“选择列”列,使复选框为选中状态。
单击“下一步”
按键,进入创建视图的定义限制对话框,如图2所示。
图2 定义限制对话框
8)在定义限制对话框中,输入表的连接和元组选择条件。
单击“下一步”按键,出现视图名对话框。
9)在输入视图名对话框中输入所建视图的标识名。
本例的视图名为“计算机系学生”。
单击“下一步”按键,则出现视图创建完成对话框。
在完成对话框中给出了根据前面对话框输入的内容译成的SQL语句。
可以认
真阅读该SQL语句,如果发现与要求有不符合之处可以直接进行修改。
确认无误后单击“完成”按钮。
随后出现一个通知用户已成功创建视图的信息
框,单击“确认”按钮后,整个创建视图工作就完成了。
2.查看和修改视图
视图创建好后,就可以利用它进行查询信息了。
如果发现视图的结构不能很好地满足要求,还可以在企业管理器对它进行修改。
在企业管理器中修改视图结构需要首先选择服务器,数据库,并使数据库展开,然后用鼠标右击要修改的视图,在弹出的菜单上选择“设计视图”项,则弹出一个视图设计对话框,如图3所示。
当对其修改完毕后关闭窗口,新的视图结构就会取代原先的结构。
3.将查询需求用SQL语言表示;在SQL查询分析器的输入区中输入SQL查询语句;
设置查询分析器的结果区为Standard Execute(标准执行)或Execute to Grid(网格执行)方式;发布执行命令,并在结果区中查看查询结果;如果结果不正确,要进
行修改,直到正确为止。