数据库第三次实验
数据库原理实验报告-实验三-数据完整性与安全性控制

《数据库原理》实验报告题目:实验三数据完整性与安全性控制学号班级日期2016.10.18一、实验容、步骤以及结果1.利用图形用户界面对实验一中所创建的Student库的S表中,增加以下的约束和索引。
(18分,每小题3分)(1)非空约束:为出生日期添加非空约束。
非空约束:取消表S中sbirth的勾。
可能需要重建表。
(2)主键约束:将学号(sno)设置为主键,主键名为pk_sno。
设主键:单击数据库Student-->单击表-->单击S-->右击sno-->选择‘修改’命令-->对话框中右击sno-->选择‘设置主键’-->修改主键名为‘pk_sno’-->保存(3)唯一约束:为(sname)添加唯一约束(唯一键),约束名为uk_sname。
唯一约束:单击数据库Student-->单击表-->单击S-->右击sname-->选择‘修改’命令→右击sname-->选择‘索引和键’命令-->打开‘索引和键’框图-->添加-->是否唯一改为‘是’-->名称改为‘us_sname’-->关闭。
(4)缺省约束:为性别(ssex)添加默认值,其值为“男”。
设默认约束:单击数据库Student→单击表→单击S→右击sno→选择‘修改’命令→单击cno-->在默认值栏输入‘男’→保存(5)CHECK约束:为SC表的成绩(grade)添加CHECK约束,约束名为ck_grade,其检查条件为:成绩应该在0-100之间。
(6)外键约束:为SC表添加外键约束,将sno,cno设置为外键,其引用表分别是S表和C表,外键名称分别为fk_sno,fk_cno。
2.在图形用户界面中删除以上小题中已经创建的各种约束,用SQL语言分别重新创建第1题中的(2)-(6)小题.(15分,每小题3分,提示:alter table add constraint)删除约束:单击数据库Student-->表-->单击S-->展开键、约束。
数据库上机实验报告

数据库实验(第三次)题目1 实验内容:1. 检索上海产的零件的工程名称;2. 检索供应工程J1零件P1的供应商号SNO;3. 检索供应工程J1零件为红色的供应商号SNO;4. 检索没有使用天津生产的红色零件的工程号JNO;5. 检索至少用了供应商S1所供应的全部零件的工程号JNO;6. 检索购买了零件P1的工程项目号JNO及数量QTY,并要求对查询的结果按数量QTY降序排列。
1select jnamefrom jwhere jno in(select jnofrom spjwhere sno in(select snofrom swhere city ='上海'));2select snofrom spjwhere jno ='j1'and pno ='p1'3selectdistinct snofrom spjwhere pno in(select pnofrom pwhere color='红'and pno in (select pnofrom spjwhere jno ='j1'));4selectdistinct jnofrom spjwhere pno notin(select pnofrom pwhere color ='红'and pno in (select pnofrom spjwhere sno in(select snofrom swhere city ='天津')))5select jnofrom spjwhere sno ='s1'6select jno,qtyfrom spjwhere pno ='p1'orderby qty desc四﹑思考题1. 如何提高数据查询和连接速度。
建立视图2. 试比较连接查询和嵌套查询有些嵌套查询是可以用连接来代替的,而且使用连接的方式,性能要比嵌套查询高出很多当查询涉及多个关系时,用嵌套查询逐步求解结构层次清楚,易于构造,具有结构化程序设计的优点。
数据库第二、三次实验

机械工业出版社
张建平
计算机应用
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
数据库原理实验报告(3)实验三数据表的创建与管理实验

数据库原理实验报告(3)实验三数据表的创建与管理实验南京晓庄学院《数据库原理与应⽤》课程实验报告实验三数据表的创建与管理实验所在院(系):数学与信息技术学院班级:学号::1.实验⽬的(1)理解SQL Server 2005常⽤数据类型和表结构的设计⽅法。
理解主键、外键含义,掌握建⽴各表相关属性间参照关系的⽅法。
(2)熟练掌握使⽤SQL Server Management Studio图形⼯具创建表,删除表,修改表结构,插⼊及更新数据的⽅法。
(3)熟练掌握使⽤Transact-SQL语句创建表,删除表,修改表结构,插⼊及更新数据的⽅法。
2.实验要求基本实验:(1)在实验⼆所创建的“TM”数据库中合理设计以下各表逻辑结构:学⽣信息(学号,,性别,籍贯,出⽣⽇期,民族,学院/系别号,班级号)课程信息(课程号,课程名称,课程所属模块,课程类别,学分,学时)学习信息(学号,课程号,考试成绩,平时成绩)院系信息(院系号,院系名称)要求确定各个字段的名称、类型、是否有默认值,是否主键等信息。
(2)依据你所设计的表结构,使⽤SQL Server Management Studio图形⼯具在“TM”数据库中创建学⽣信息表和课程信息表,并试验在图形界⾯中修改表结构,删除数据表,输⼊并更新数据的⽅法。
(3)依据你所设计表结构,使⽤Transact-SQL语句创建学习信息表和院系信息表,并试验使⽤T-SQL语句修改表结构,删除数据表,插⼊和更新数据的⽅法。
(4)找出已创建各表之间相关属性的参照关系,并在相关表中增加引⽤完整性约束。
(5)按要求完成实验报告。
扩展实验:(1)在“TM”数据库中补充设计以下各表结构:教师信息(教师号,,性别,出⽣⽇期,学历,学位,⼊职时间,职称,院系号)授课信息(教师号,课程号,学期)班级信息(班级号,班级名称,专业号)专业信息(专业号,专业名称,学制,学位)图书信息(图书号,书名,作者,,出版⽇期,册数,价格,分类)借书偏息(学号,图书号,借出时间,归还时间)奖励信息(学号,奖励类型,奖励⾦额)(2)设计并实现各表之间相关属性的参照关系。
实验三 数据库中的数据查询及视图操作实验报告

实验三数据库中的数据查询及视图操作实验报告实验三数据库中的数据查询及视图操作实验报告一、实验目的本实验的主要目的是熟悉数据库中的数据查询和视图操作。
通过本实验,我们可以掌握使用SQL语句进行数据查询和创建视图的方法,进一步提高对数据库的操作能力。
二、实验环境本实验使用MySQL数据库管理系统,并在Windows操作系统下进行实验。
三、实验内容本实验主要包括以下内容:1. 数据查询:使用SELECT语句查询数据库中的数据,并进行排序、过滤和聚合操作。
2. 视图操作:创建和删除视图,以及对视图进行查询和更新操作。
四、实验步骤与结果1. 数据查询首先,我们需要连接到数据库,并选择要查询的表。
假设我们选择的表名为"students",包含以下字段:学号、姓名、性别、年龄、班级。
a. 查询所有学生的信息:```sqlSELECT * FROM students;```执行以上SQL语句后,我们可以得到所有学生的信息,包括学号、姓名、性别、年龄和班级。
b. 查询男生的信息:```sqlSELECT * FROM students WHERE 性别 = '男';```执行以上SQL语句后,我们可以得到所有性别为男的学生的信息。
c. 查询年龄小于20岁的学生的姓名和班级:```sqlSELECT 姓名, 班级 FROM students WHERE 年龄 < 20;```执行以上SQL语句后,我们可以得到年龄小于20岁的学生的姓名和班级。
d. 查询学生按照年龄降序排列的结果:```sqlSELECT * FROM students ORDER BY 年龄 DESC;```执行以上SQL语句后,我们可以得到按照年龄降序排列的学生信息。
e. 查询学生按照班级分组,并统计每个班级的人数:```sqlSELECT 班级, COUNT(*) AS 人数 FROM students GROUP BY 班级;```执行以上SQL语句后,我们可以得到每个班级的人数统计结果。
第三次试验——ER图

完成之后的CDM模型(参考)
完成之后的PDM模型(参考)
ቤተ መጻሕፍቲ ባይዱ
最终文件清单:
1:一个后缀名为CDM的文件 2:一个后缀名为PDM的文件 3:一个后缀名为CDB的文件(它是CDM的备份 文件,有的同学可能没有) 4:一个后缀名为PDB的文件(它是PDM的备份 文件,有的同学可能没有) 5:CDM的报告文件report1.rtf,PDM的报告文件 report2.rtf 6:crebas.sql
计算机信息管理基础
第三次实验课——ER图
实验背景: school数据库由如下表格组成,如表A1~ A3(见下页)所示,描述一个学校的学生、 教师、课程关系。
实验要求: a) 用s-designer软件画出该数据库ER图; b) 生成Word文档报告;
实验步骤——建立概念数据模型CDM(Concept Data Model):
实验步骤——生成物理数据模型PDM(Physical Data Model):
5:选择Dictionary——Generate Physical Model——在 DataBase Name下拉菜单中选择一种数据库——点击OK, PDM就建立好了; 6:【选做】为Students表与Courses表之间的Relation表 添加Score属性(表示成绩),为Teachers与Courses表 之间的Relation表添加Time属性(表示上课时间); 7:选择Edit——Add Title为PDM添加版本信息; 8:选择File——Create Report——Full PDM Report—— Save RTF为ER图生成报告文档report1.rtf 9:选择Database——Generate Database——在 Directory栏选择文件保存路径——点击Generate Script
《数据库技术》第三次实验内容

数据库技术实验创建库和表1.在'D:\SQL2000\DataBase\路径下创建数据库xscj,要求:主数据文件逻辑名为xscj_Data,物理名为xscj_Data.MDF,初始大小为10MB,最大允许为300MB,文件以5MB递增。
事务日志文件逻辑名为xscj_Log,物理名为xscj_Log.LDF,初始大小为10MB,最大允许为200MB,文件以2MB递增。
2.创建表参见教材附录A的要求:CREATE TABLE xs()CREATE TABLE kc()CREATE TABLE xs_kc()上面的SQL代码调试正确之后,请将xscj数据库整个删除,再进行下面的操作。
带完整数据的XSCJ数据库的还原:先下载我课件中的homework备份。
点击后找到你下载下来的homework 的备份(我课件中XSCJ数据库的备份)所在的位置然后一直“确定”下去,就可以还原XSCJ 数据库了,下面的操作都在这个数据库上进行。
如果报错,把第二幅图中的选项改为计算机上正确的文件路径即可。
学生成绩数据的简单和复杂查询实验步骤以xscj数据库为例,使用查询分析器完成以下的查询语句:(1) 查询xs表中的所有学生的信息以及仅查询学生姓名。
(2) 查询出XS表中的前10个或前面10%的学生信息。
(3) 查询总学分<50的所有学生的学号,姓名,专业名。
(4) 将XS_KC表中的学生学号,课程号及成绩输出,其中成绩按70%的分数显示,并且将成绩列名改为‘考试所占分数’。
(5) 查询XS表中的学生相关信息,并以学生姓名,所学专业,出生时间作为列名。
(6) 查询XS_KC表,显示学生成绩在80到89之间的学生选课信息。
(7) 从KC表中找出学时大于60的课程信息,并按照升序和降序显示。
(8) 找出姓王的所有学生。
(9) 查询总学分大于50的所有学生的姓名,性别,专业和选修课程号和成绩(10)查询计算机专业的学分大于50的学生的姓名及所选课程名和成绩。
数据库的实验心得体会

数据库的实验心得体会引言数据库是计算机科学中非常重要的一个概念,它用于存储和管理大量的数据。
作为一名学习数据库的学生,我在课程中进行了一系列的实验,通过实践掌握了数据库的基本概念、SQL语言以及数据库设计等知识。
在本文中,我将分享我在数据库实验中的心得体会。
实验内容与要点在数据库的实验中,我学习了以下内容:1.数据库的基本概念:包括数据库的定义、特点以及数据库管理系统的作用和功能;2.SQL语言:学习了SQL的基本语法和常用操作,如创建表、插入、查询、更新和删除数据等;3.数据库设计:了解了数据库设计的基本原则和规范,学习了实体-关系模型(ERM)和关系模型(RM)的相关知识;4.数据库管理系统(DBMS):熟悉了市场上常见的DBMS软件,如MySQL、Oracle、SQL Server等。
实验过程与方法实验一:数据库的创建与连接在第一次实验中,我学习了如何创建一个数据库,并且通过连接到数据库来进行操作。
我选择了使用MySQL作为DBMS软件。
下面是我学到的一些重要的实验要点:•创建数据库:使用CREATE DATABASE语句来创建数据库,如下所示:CREATE DATABASE DatabaseName;•连接数据库:使用USE语句来连接到数据库,如下所示:USE DatabaseName;实验二:SQL语句的基本操作在第二次实验中,我学习了SQL语句的基本操作,包括创建表、插入数据以及查询数据等。
下面是我学到的一些重要的实验要点:•创建表:使用CREATE TABLE语句来创建表,如下所示:CREATE TABLE TableName (Column1 DataType,Column2 DataType,...);•插入数据:使用INSERT INTO语句来向表中插入数据,如下所示:INSERT INTO TableName (Column1, Column2, ...)VALUES (Value1, Value2, ...);•查询数据:使用SELECT语句来检索数据,如下所示:SELECT Column1, Column2, ...FROM TableNameWHERE Condition;实验三:数据库设计在第三次实验中,我学习了数据库设计的基本原则和规范。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
南昌航空大学实验报告
2018年5月30日
课程名称:数据库原理实验名称:数据库安全性
学号: 16206127 姓名:周良
指导教师评定:签名:
一,实验目的
○1熟悉不同数据库中的保护措施——安全性控制,重点实践SQL SEVER
的安全性机制,掌握SQL Sever中有关用户、角色及操作权限等的管理方法。
二,实验内容
1,SQL Server的安全模式
(1)利用T-SQL添加SQL Sever账号。
(2)利用T-SQL修改SQL Sever登陆账号属性。
(3)利用T-SQL删除SQL Sever登陆账号。
2,管理数据库用户
(1)利用T-SQL添加SQL Sever用户。
(2)利用T-SQL删除SQL Sever用户。
3,管理数据库角色
(1)利用T-SQL删除用户自定义角色,可以使用系统存储过程sp_droprole删除用户自定义角色。
4,权限管理
(1)利用T-SQL管理权限
○1语句授权。
○2对象授权。
○3收回授权。
三,实验步骤
exec sp_addlogin'qh','qh','jxgl','english'
四,exec sp_password'qh','qhqxzsly','qh'
五,
六,alter login qh with password='123456'
七,
八,exec sp_droplogin qh
九,
十,drop login qh
十一,
十二,use jxgl
十三,exec sp_grantdbaccess'DESKTOP-7M8SQ9T','qh'
十四,exec sp_revokedbaccess qh
十五,
十六,use jxgl;
十七,exec sp_addrole'newrole'
十八,exec sp_addrolemember'newrole','qh'
十九,
二十,exec sp_droprole'newrole'
二十一,
二十二,use master
二十三,grant create database to qh
二十四,
二十五,
二十六,grant create table,create view to qh
二十七,
二十八,grant select on s to qh,qxz,sly
二十九,
三十,grant insert,delete on s to shen
三十一,
三十二,grant update on s(age,dept)to shen
三十三,
三十四,grant execute on sp_ins_s to shen
三十五,
三十六,revoke create table,create view form sly
三十七,
三十八,revoke select on s from qxz ,sly
四,实验心得
通过此次实验我了解了SQL Sever中有关用户、角色及操作权限等的管理方法,同时也更加注重数据库安全性方面的问题,我们创建的每一个数据库都应该考虑安全性问题,应该为数据库创建一些必要的角色,同时也要管理数据库的权限方面,防止数据向外流失,或者被黑客盗用。