数据库上机第二次实验内容

数据库上机第二次实验内容
数据库上机第二次实验内容

实验3:T-SQL语言实验

实验目的:

要求学生熟练掌握使用T-SQL语言创建基本表和视图,同时利用SQL语言实现各种查询和更新。

实验内容:

利用“查询分析器”实现“学生-课程”数据库中的各个基本表的创建。库中表结构为:

学生(学号,姓名,性别,年龄,所在系):

课程(课程号,课程名,先行课,学分);

选课(学号,课程号,成绩)。

要求:

l)建库、建表、建立表间联系。

2)选择合适的数据类型。

3)定义必要的索引、列级约束和表级约束。

具体实验任务如下。

1.基本操作实验

1)启动SQL Server2000下的企业管理器(Enterpriser Manager),逐个点开各

级小图标直到打开“数据库”,点击“数据库”右键,利用“新建数据库”建立“学生_课程”数据库如图3.1所示;

2)启动SQL Server2000下的“查询分析器”,选择当前正在使用的数据库“学生_课程”,在查询分析器界面输入以下代码如图3.2-3.4后,并点击工具栏里的“√”(命令分析)和“◢”(执行命令)后,从而创建“学生”表、“课程”表,“选课”表。(在企业管理器的菜单栏中点击“刷新”图标,即可在“学生_课程”数据库的表对象中看到这三个表。)

2.利用T-SQL语言向各个已经设计好的表中插入具体信息。在各个新建查询中输入如图3.3-3.5所示代码,点击工具栏里的“√”(命令分析)和“◢”(执行命令)后在企业管理器中打开各个表查看结果。

图3.1新建“学生_课程”数据库界面

图3.2 利用SQL语言创建“学生”表、“课程”表,“选课”表

图3.3向学生表中插入记录

图3.4向课程表中插入记录

图3.5向选课表中插入记录

3.利用T-SQL语言实现表的连接查询和嵌套查询

1)连接查询:

①求选修课程号为2且成绩在85分以上的学生学号、姓名及成绩:

T-SQL语句:select 学生.学号,姓名,成绩 from 学生,选课 where 学生.学号=

选课.学号 and 课程号=’C1’and 成绩>85

②查询每一门课的间接先行课(即先行课的先行课):

T-SQL语句:select A.课程号,A.课程名,B.先行课 from 课程 A,课程 B where A.先行课=B.课程号

2)嵌套查询:

①求选修了数学的学生学号和姓名。

T-SQL语句:select 学号,姓名 from 学生 where 学号 in (select 学号 from 选课 where 课程号 in(select 课程号 from 课程 where 课程名=‘数学’))

②求其他系中比计算机系学生年龄都小的学生。

T-SQL语句:select * from 学生 where 年龄'计算机'

③求至少选修了学生为“200212122”的学生所选修的全部课程的学生学号的姓名。

T-SQL语句: Select 学号,姓名 from 学生 where not exists(select * from 选课选课1 where 选课1.学号=’200515122’and not exists(select * from 选课选课2 where 学生.学号=选课2.学号 and 选课2.课程号=选课1.课程号))

实验报告要求:

1)写出实验目的、实验内容、实验结果和主要实验步骤。

2)列出实验前准备的实验数据。写出相关的T-SQL语句。

3)写出实验中出现的问题、注意事项和解决方法。

4)写出实验体会。

实验4:数据库的视图,触发器的定义及使用实验

实验目的:

使学生掌握SQL Server中的视图创建向导和图表创建向导的使用方法,加深对视图和SQL Server图表作用的理解。学会通过T-SQL表达触发器和创建触发器的方法。

实验内容:

1、在SQL Server 企业管理器中,用视图创建向导创建这3个视图。

①建立计算机系学生的视图

②由学生、课程和选修课三个表,定义一个计算机系的学生成绩视图,其属性包括学号、姓名、课程名和成绩

③将学生的学号、总成绩、平均成绩定义成一个视图

基本操作如下:

在SQL Server 企业管理器中利用视图向导来创建视图,打开企业管理器,选中“学生_课程”数据库,点击“工具”下面的“向导”,创建视图;如图4.1所示,点击“创建视图向导”就可以一步步创建所要的视图,完成之后可在“学生_课程”数据库的“视图”对象中看到这三个表。)

。(例:在图4.2中给创建计算机系学生视图的相应的条件)。

图4.1所示

图4.2在创建视图的过程中给出条件界面。2.用企业管理器创建触发器的方法:建立缺省和捆绑缺省

1)为选课表建立一个插入触发器,保证学生_课程库选课表的参照完整性的触发器:

T-SQL语句:

实验报告要求:

5)写出实验目的、实验内容、实验结果和主要实验步骤。

6)写出创建这三个视图的相关的T-SQL语句。

7)写出实验中出现的问题、注意事项和解决方法。

8)写出实验体会。

实验5:数据安全性实验(选做内容)

实验目的:

通过实验使学生加深对数据安全性的理解,掌握SQL Server中有关用户、角色及操作权限的创建和管理方法

实验内容:

数据库的安全性实验。在SQL Server企业管理器中,设置SQL Server的安全认证模式,实现对SQLServer的用户和角色管理,设置和管理数据操作权限。实验要求:

1.基本操作实验

1)在SQL Server 企业管理器中为所属的SQL服务器设置WindowsNT安全认证模式。

2)在SQL Server 企业管理器中为自己建立一个服务器用户、数据库用户和数据库角色。并将自己创建的学生选课库、图书借阅库的所有操作权赋予它们,将自设计的数据库的操作权赋予新建的数据库用户。

(1)设置安全认证模式

在企业管理器中扩展开SQL 服务器组,用鼠标右键单击需要设置的SQL服务器,在弹出的菜单中选择“属性”项,选择“安全性”,如图5.1。

图5.1 设置安全认证模式

(2)登录(服务器用户)的创建和管理

1)安全性文件夹

进入企业管理器,打开SQL服务器组和SQL服务器,选择“安全性”文件夹,可以看出“安全性”文件夹包含4个对象:登录、服务器角色、链接服务器和远程服务器,如图5.2所示。

图5.2 安全性文件夹图

2)用鼠标右键单击登录对象,出现的弹出菜单,在弹出菜单中选择”新登录“,就会出现一个”登录属性“对话框,如图5.3所示。

图5.3 登录属性

3)选择“常规”选项卡,输入登录用户的一般特征,包括输入用户名,选择该用户的安全认证模式,选择默认数据库和默认语言。设置时,如果使用SQL Server身份验证,可直接在名称栏中输入新登录名;如果选择Windows 身份验证,则要单击“名称”文本框右边的“…“按钮,调出windows预设的登录用户表,从中选择添加的登录名称。

4)选择“服务器角色“选项卡,选中”服务器角色“,使该登录用户成为相应的服务器角色成员,在下面的“描述”栏中,列出了当前被选中的服务器角色的权限,如图5.4所示。

图5.4 服务器角色权限

5)选择“数据库访问”选项卡,在页面上部的列表中确定用户能访问的数据库,在下部的列表中确定登录用户所属的数据库角色,如图5.5所示,通过单击前端的复选框实现。

图5.5 登录用户的数据库角色选择

6)操作完成后,单击“确定”按钮

(3)数据库用户的创建

1)在企业管理器中扩展SQL 服务器及数据库文件夹;用鼠标右键单击“用户”,出现用户弹出菜单,选择“新建数据库用户”项,出现“新建数据库用户”对话框,如图5.6。

图5.6 新建数据库用户

2)在对话框“登录名”列表框图选择一个SQL服务器登录用户名,并在它下面的“用户名”文本框中输入数据库用户名,在下面的“数据库角色成员”列表中选择参加的角色。

3)单击“确定”按钮。

(4)登录用户加入服务器角色

1)在企业管理器中,扩展指定的SQL服务器、安全性文件夹,单击“服务器角色”后,就会在右面的细节窗口中出现8个预定义的服务器级角色。选中一个服务器角色,例如Database creators,单击鼠标右键,出现弹出菜单,如图5.7所示。

图5.7 数据库用户访问许可

2)选择“属性”项后,出现“服务器角色属性”对话框,选择“常规”选项卡,单击“添加”按钮后出现“选择登录用户”对话框;在对话框中选择登录用户名后,单击“确定”回到“常规”选项卡,如图5.8所示。

图5.8 服务器角色常规选项卡

3)选择“权限”选项卡,可以看到该服务器角色可以执行的全部操作权限,如图5.9。

图5.9 服务器角色权限

4)单击“确定”。

实验报告要求:

1)写出实验目的、实验内容、实验结果和主要实验步骤。

2)列出新建的登录用户、数据库角色和用户属性及权限情况。

3)写出实验中出现的问题、注意事项和解决方法。

4)写出实验体会。

西北工业大学数据库实验报告

1.利用图形用户界面创建,备份,删除和还原数据库和数据表(50分,每小题5分) ●数据库和表的要求(第五版教材第二章习题 6 要求的数据库) 数据库名:SPJ,其中包含四张表:S表, P表, J表, SPJ表 ●完成以下具体操作: (1)创建SPJ数据库,初始大小为 10MB,最大为50MB,数据库自动增长,增长方 式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。 数据库的逻辑文件名和物理文件名均采用默认值。 (2)在SPJ数据库中创建如图2.1-图2.4的四张表(只输入一部分数据示意即可)。 S表: P表: J表: SPJ表:

(3)备份数据库SPJ(第一种方法):备份成一个扩展名为bak的文件。(提示: 最好先删除系统默认的备份文件名,然后添加自己指定的备份文件名) (4)备份数据库SPJ(第二种方法):将SPJ数据库定义时使用的文件(扩展名为 mdf,ldf的数据文件、日志文件等)复制到其他文件夹进行备份。 原位置: 新的位置: (5)删除已经创建的工程项目表(J表)。 (6)删除SPJ数据库。(可以在系统默认的数据存储文件夹下查看此时SPJ数据 库对应的mdf,ldf文件是否存在) 删除过后文件不存在 (7)利用备份过的bak备份文件还原刚才删除的SPJ数据库。(还原数据库)

(8)利用备份过的mdf,ldf的备份文件还原刚才删除的SPJ数据库。(附加) (9)将SPJ数据库的文件大小修改为100MB。 (10)修改S表,增加一个联系电话的字段sPhoneNo,数据类型为字符串类 型。 2.利用SQL语言创建和删除数据库和数据表(50分,每小题5分) ●数据库和表的要求 数据库名:Student,其中包含三个表:S:学生基本信息表;C:课程基本信息表;SC:学生选课信息表。 ●完成以下具体操作: (1)用SQL语句创建如图2.5-图2.7要求的数据库Student,初始大小为20MB, 最大为100MB,数据库自动增长,增长方式是按10M兆字节增长;日志文件初

数据库实验二

西南石油大学实验报告 注意:在粘贴截图时请保留窗口完整标题,但只需保留关键界面,多余的空白界面请删除。 一、实验课时:4 二、实验目的 (1) 理解查询的概念和方法。 (2) 掌握SELECT语句在单表查询中的应用。 (3) 掌握SELECT语句在多表连接查询中的应用。 (4) 掌握SELECT语句在嵌套查询中的应用。 (5) 掌握SELECT语句在集合查询中的应用。 (6) 主要掌握使用“查询分析器”进行查询。 三、实验环境 (1) PC机。 (2) SQL Server 2008。 四、实验内容及步骤 以下查询均使用实验项目1中创建的COMPANY数据库。 1.单表查询 (1)基本查询。 Q0. 使用查询分析器从Employee表中检索出所有员工的姓名。 SQL文本:SELECT FNAME,LNAME FROM EMPLOYEE;

(以下所有题目都必须按照上图的要求截图) Q1.从Employee表中检索出员工的FNAME、LNAME、SSN、BDATE、SALARY等字段,并分别加上“名”、“姓”、“社会保险号”、“生日”、“工资”的标题。员工的排序规则为:首先按工资的降序排列,然后按FNAME 的字母升序排列。 SQL文本: SELECT Fname名,Lname姓,Ssn社会保险号, Bdate生日,Salary工资 FROM EMPLOYEE ORDER BY Salary DESC,Fname;

Q2.查询不重复的员工工资值。 SQL文本: SELECT DISTINCT Salary FROM EMPLOYEE; Q3.查询没有直接上司的员工姓名。SQL文本: SELECT Fname,Lname FROM EMPLOYEE WHERE Super_ssn IS NULL;

数据库实验2实验报告 2

数据库第二次试验报告 PB10011020 刘思轶实验内容 本实验有两个可选题目,旅游出行和药品免疫库。本程序即为旅游出行的一个实现。 实验原题摘要如下 数据关系模式: 航班FLIGHTS( String flightNum, int price, int numSeats, int numAvail, String FromCity, StringArivCity); 宾馆房间HOTELS( String location, int price, int numRooms, int numAvail);出租车CARS( String location, int price, int numCars, int numAvail);客户CUSTOMERS( String custName); 预订情况RESERVATIONS( String resvKey, String custName, int resvType) 系统基本功能: 1.航班,出租车,宾馆房间和客户基础数据的入库,更新(表中的属性也可以根据你的需要添加)。 2.预定航班,出租车,宾馆房间。 3.查询航班,出租车,宾馆房间,客户和预订信息。 4.查询某个客户的旅行线路。 5.检查预定线路的完整性。 6.其他任意你愿意加上的功能。 程序功能 本系统由旅行服务提供商运营,发布在支持PHP + MySQL 的服务器上。 系统默认有三个角色,游客、用户和管理员。它们的权限如下 1、游客 查询当前航班、旅馆和出租车的预订情况; 2、注册用户 游客的所用权限; 查询当前预订; 预订航班、旅馆和出租车; 退订航班、旅馆和出租车。 打印旅行路线 检查预定路线的完整性。 检查航班的完备性 3、管理员 注册用户的所用权限

数据库实验报告2

理工大学信息工程与自动化学院学生实验报告 (2011 —2012 学年第 1 学期) 课程名称:数据库系统教程开课实验室:信自楼445 2011 年11月 27日 一、上机目的及容 1.上机容: SQL的数据查询,查询、插入、删除、修改 2.上机目的: 掌握数据查询语句,并能熟练应用 二、实验原理及基本技术路线图(方框原理图或程序流程图) 在SQL server 2008软件中的查询中,输入SQL代码 三、所用仪器、材料(设备名称、型号、规格等或使用软件) 1台PC及SQL server 2008软件 四、实验方法、步骤(或:程序代码或操作过程) 1)select查询 单表查询:查询全体学生的学号及: SELECT SNO,SNAME FROM S;

查询全体学生的全部信息: SELECT*FROM S; 2)查询经过计算值 (SELECT子句的<目标列表达式>为表达式,表达式可以是:算术表达式、字符串常量、函数、列别名等) 查全体学生的学号、及其出生年份: SELECT SNO,SNAME,2012-AGE FROM S;

查询全体学生的、出生年份和所属系: SELECT SNO,SNAME,2012-AGE,SDEPT FROM S; 查询选修了课程的学生学号: SELECT SNO FROM SC,C WHERE https://www.360docs.net/doc/8e2129434.html,O=https://www.360docs.net/doc/8e2129434.html,O; 为了避免这种不合题意的情况,我们用distinct用了去除重复的元组。所以上例中的执行语句为: SELECT DISTINCT SNO FROM SC;

SELECT DISTINCT SNO FROM SC,C WHERE https://www.360docs.net/doc/8e2129434.html,O=https://www.360docs.net/doc/8e2129434.html,O; 查询选修课程的各种成绩: SELECT CNO,GRADE FROM SC; SELECT DISTINCT CNO,DISTINCT GRADE FROM SC; SELECT CNO,DISTINCT GRADE FROM SC; SELECT DISTINCT CNO,GRADE FROM SC;

福建工程学院《实验指导书(数据库系统原理及应用)》

数据库系统原理 实验指导书 (本科)

目录 实验一数据定义语言 (1) 实验二SQL Sever中的单表查询 (3) 实验三SQL Serve中的连接查询 (4) 实验四SQL Serve的数据更新、视图 (5) 实验五数据控制(完整性与安全性) (7) 实验六语法元素与流程控制 (9) 实验七存储过程与用户自定义函数 (11) 实验八触发器 (12)

实验一数据定义语言 一、实验目的 1.熟悉SQL Server2000/2005查询分析器。 2.掌握SQL语言的DDL语言,在SQL Server2000/2005环境下采用Transact-SQL实现表 的定义、删除与修改,掌握索引的建立与删除方法。 3.掌握SQL Server2000/2005实现完整性的六种约束。 二、实验内容 1.启动SQL Server2000/2005查询分析器,并连接服务器。 2.创建数据库: (请先在D盘下创建DB文件夹) 1)在SQL Server2000中建立一个StuDB数据库: 有一个数据文件:逻辑名为StuData,文件名为“d:\db\S tuDat.mdf”,文件初始大小为5MB,文件的最大大小不受限制,文件的增长率为2MB; 有一个日志文件,逻辑名为StuLog,文件名为“d:\db\StuLog.ldf”,文件初始大小为5MB,文件的最大大小为10MB,文件的增长率为10% 2)刷新管理器查看是否创建成功,右击StuDB查看它的属性。 3.设置StuDB为当前数据库。 4.在StuDB数据库中作如下操作: 设有如下关系表S:S(CLASS,SNO, NAME, SEX, AGE), 其中:CLASS为班号,char(5) ;SNO为座号,char(2);NAME为姓名,char(10),设姓名的取值唯一;SEX为性别,char(2) ;AGE为年龄,int,表中主码为班号+座号。 写出实现下列功能的SQL语句。 (1)创建表S; (2)刷新管理器查看表是否创建成功; (3)右击表S插入3个记录:95031班25号李明,男性,21岁; 95101班10号王丽,女性,20岁; 95031班座号为30,名为郑和的学生记录; (4)将年龄的数据类型改为smallint; (5)向S表添加“入学时间(comedate)”列,其数据类型为日期型(datetime); (6)对表S,按年龄降序建索引(索引名为inxage); (7)删除S表的inxage索引; (8)删除S表; 5.在StuDB数据库中, (1)按照《数据库系统概论》(第四版)P82页的学生-课程数据库创建STUDENT、COURSE 和SC三张表,每一张表都必须有主码约束,合理使用列级完整性约束和表级完整性。 并输入相关数据。 (2)将StuDB数据库分离,在D盘下创建DB文件夹下找到StuDB数据库的两个文件,进行备份,后面的实验要用到这个数据库。 6.(课外)按照《数据库系统概论》(第四版)P74页习题5的SPJ数据库。创建SPJ数据 库,并在其中创建S、P、J和SPJ四张表。每一张表都必须有主码约束,合理使用列级完整性约束和表级完整性。要作好备份以便后面的实验使用该数据库数据。 三、实验要求:

数据库第二次

作业二.程序设计:写SQL ◆一.教材P112—3.2 ◆T(T#,TNAME,TITLE) ◆C(C#,CNAME,CREDIT,T#) ◆S(S#,SNAME,AGE,SEX,DEPT) ◆SC(S#,C#,SCORE) 检索年龄小于 岁的女学生的学号和姓名。 ?检索男学生所学课程的课程号和课程名 检索男学生所学课程的任课教师的工号和姓名 .检索至少选修两门课程的学生学号 检索至少有学号为 和 学生选修的课程的课程号 ?检索 ???同学不学的课程的课程号 二.教材P112—3.7 T(T#,TNAME,TITLE) C(C#,CNAME,T#) S(S#,SNAME,AGE,SEX) SC(S#,C#,SCORE) 1.统计有学生选修的课程门数 2.求选修C4课程的女学生的平均年龄. 3.求LIU老师所授课程的每门课程的平均成绩 4.统计每门课程的学生选修人数(超过10人的课程才统计).要求显示课程号和人数,查询结 果按人数降序排列,若人数相同,按课程号升序排列. 5.检索学号比W ANG同学大,而年龄比他小的学生姓名 6.在表SC中检索成绩为空值的学生学号和课程号 7.检索姓名以L打头的所有学生的姓名和年龄 8.求年龄大于女同学平均年龄的男同学姓名和年龄

9.求年龄大于所有女同学年龄的男同学姓名和年龄。 三.教材P114—3.12 T(T#,TNAME,TITLE) C(C#,CNAME,T#) S(S#,SNAME,AGE,SEX) SC(S#,C#,SCORE) 1.往关系C中插入一个课程元组(’C8’,’VC++’,’T6’) 2.检索所授每门课程平均成绩大于80分的教师姓名,并把检索到的值送往另一个已存在的表FACULTY(TNAME)中 3.在SC中删除尚无成绩的选课元组 4.把选修LIU老师课程的女同学选课元组全部删去. 5.把MATH课不及格的成绩全改为60分 6.把低于所有课程总平均成绩的女同学成绩提高5%。 7.在表SC中修改C4课程的成绩,当成绩小于等于70分时提高5%,若成绩大于70分时提高4%。 8.在表SC中,当某个成绩低于全部课程的平均成绩时,提高5%。 四..教材P114—3.13 职工表EMP(E#,ENAME,AGE,SEX,ECITY) 其属性分别表示职工工号,姓名,年龄,性别和籍贯 工作表WORKS(E#,C#,SALARY) 其属性分别表示职工工号,工作的公司编号和工资 公司表COMP(C#,CNAME,CITY) 其属性分别表示公司编号,公司名称和公司所在城市 1.用CREATE TABLE 语句创建上述三个表需指出主键和外键 2.检索超过50岁的男职工的工号和姓名 3.假设每个职工只能在一个公司工作,检索工资超过1000元的男性职工工号和姓名 4.假设每个职工可在多个公司工作,检索至少在编号为C4和C8公司兼职的职工工号和姓 名.

数据库原理实验报告二.pdf

LIAOCHENG UNIVERSITY 计算机学院实验报告 【2015 ~2016 学年第 2 学期】 【一、基本信息】 【实验课程】数据库原理与应用 【设课形式】独立□非独立【课程学分】 【实验项目】实验二、SQL数据操作及查询 【项目类型】基础综合□设计□研究创新□其它[ ]【项目学时】4【学生姓名】傅雪晨【学号】59 【系别专业】电子商务 【实验班组】 【同组学生】 【实验室名】综合实验楼 【实验日期】【报告日期】 【二、实验教师对报告的最终评价及处理意见】 实验成绩:(涂改无效) 指导教师签名:年月日注:要将实验项目、实验课程的成绩评定及课程考核办法明确告知学生,并报实验管理中心备案

【三、实验预习】 实验条件(实验设备、软件、材料等): 实验2 SQL数据操作及查询 实验目的: 1. 向实验1建立的表中添加数据(元组), 掌握INSERT语句的用法; 2. 修改基本表中的数据, 掌握UPDATE语句的用法; 3. 删除基本表中的数据,掌握DELETE语句的用法; 4. 体会数据完整性约束的作用, 加深对数据完整性及其约束的理解。 5. 熟练掌握SELECT语句,能够运用该语句完成各种查询。 实验内容: 1.使用INSERT语句将教材P82表中的数据添加到数据库STUDENTDB中. 2. Insert into student59 select'1','李勇','男','20','CS','',''union select'2','刘晨','女','19','CS','',''union select'3','王敏','女','18','MA','',''union select'5','张立','男','19','IS','','' select*from student59 select*from course59 select*from sc59 alter table course59NOCHECK Constraint fk_cpno Insert into course59 select'1','数据库','5','4'union select'2','数学','','2'union select'3','信息系统','1','4'union select'4','操作系统','6','3'union select'5','数据结构','7','4'union select'6','数据处理','','2'union select'7','PASCAL语言','6','4' alter table course59CHECK Constraint FK_course59_course59 Insert into sc59 select'1','1',92 union select'1','2',85 union select'1','3',88 union select'2','2',90 union select'2','3',80 alter table sc59CHECK Constraint fk_S_c alter table sc59NOCHECKConstraint fk_S_c

数据库实验二

实验二数据库设计 【实验目的】 本实验通过学生一个应用实例设计数据库,达到: 1、理解规范化数据库设计包括步骤及其任务、方法、结果等。 2、掌握数据库设计过程中关键文档的撰写包括E-R模型、E-R模型向关系模型的转换。 3、了解数据库辅助设计工具。 【实验性质】 验证性实验(学时数:2H) 【实验导读】 1、概述 数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统(简称数据库应用系统),使之能够有效地存储数据,满足各种用户的应用需求(包括信息要求和处理要求)。 数据库设计的一个最基本的问题(输出)是如何建立一个好的数据库模式(逻辑结构与物理结构),如果可能的话包括基于数据库应用系统的设计原则。即给出一定的硬件与软件环境下(主要包括OS与DBMS),对于一定的信息需求和处理要求(输入),如何构造一个适合于它们的数据模式,使数据库系统无论是在数据存储方面,还是在数据操纵方面都有较好的性能。 按照规范化设计的方法,数据库设计分为以下六个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护。有些教材还包括规划阶段。为了叙述方便我们将后两个阶段合并。 2、需求分析 需求分析指各种需求的收集和分析、表达,结果得到数据字典(DD)描述的数据需求和数据流图(DFD)描述的处理需求。在结构化设计方法中,需求分析采用自顶向下、逐层分解的方法。 3、概念结构设计 通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,用E-R图表示。E-R模型方法讨论了实体与实体之间的数据联系,目标是要设计一个“好”的数据库模型。 设计E-R图步骤: 1)确定局部应用,一般选择合适的中间层次。在DFD中选择适当层次的DFD,作为设计局部E-R图的出发点。中层允许有一定的重叠。 2)设计局部E-R图。主要包括确定实体、确定联系包括联系名及其类型、标明属性、确定主关键字、标明其它。 3)局部E-R图 4)合并及优化全局E-R图。 4、逻辑结构设计 将概念结构转换为某个DBMS所支持的数据模型一般为关系模型,并对其进行优化。转换时必须遵从转换规则,每个规则强调转换时必须确定每个关系的关系名、构成的属性、码的确定。转换规则可以分为三类即实体型的转换、联系转换(联系可分为二元联系与多元联系两类,二元联系划分成1:1、1:n、n:m三种,一元联系同二元联系一样处理)、关系合并规则。 5、物理结构设计 为逻辑数据模型选取一个最适合应用环境的物理结构(存储结构和存取方法)。 6、实施与运行、维护 数据库实施指运用DBMS提供的数据语言SQL及其宿主语言(例如C),根据逻辑设计和物理

数据库实验二及其答案

实验名称 实验二:使用分组,排序,汇总 课程名称 数据库原理与设计 成绩 学院(系) 软件学院 专业 计算机软件工程 班级 学生姓名 学号 实验地点 实验日期

实验报告答案如下: 一.实验内容: 1. 完成在在Recruitment,GlobalToyz和Student数据库基础上的查询, 按要求完成给出的15道题目,要求写出相应数据库的查询语句(SELECT语句)。

二.实验目的: 1.掌握通配符的用法 2.掌握 GROUP BY 子句的使用 3.掌握 ORDER BY子句的使用 4.掌握 TOP和DISTINCT关键字的使用 5.掌握 COMPUTE和COMPUTE BY子句的使用 6.掌握聚集函数的使用 三.实验原理: 本次实验主要通过根据题目要求完成对数据库的查询,加深对sql语言的印象。主要的原理就是SQL语言基本语句及语法。 四.实验过程及编写代码: 1.显示以‘S’开头,并且玩具名称不少于7个字符的玩具名称vToyName。 SELECT vToyName FROM Toys WHERE vToyName like'S______%' 2.显示名称里包含字母‘u’或‘x’的玩具ID和名称以及价格。 SELECT cToyId, vToyName, mToyRate FROM Toys WHERE vToyName like'u%'or vToyName like'x%' 3.查询信用卡号(cCreditCardNo)中包含4个8的订购者(Shopper)的详细信息。 SELECT* FROM Shopper WHERE cCreditCardNo like'%8%8%8%8%' 4.统计订单号为‘000001’的订单订购的玩具的数量和玩具的总花费(mToyCost)。 SELECT cOrderNo, mTotalCost FROM Orders WHERE cCartId ='000001' 5.统计每份提单订购的玩具数量和玩具花费。 SELECT cOrderNo, mToyCost FROM OrderDetail 6.对于GlobalToyz数据库的Country表,统计国家名称只由六个字母构成的国家的数目。 SELECT count(cCountry)'国家数量' FROM Country

数据库实验报告2

数据库原理实验报告 姓名:学号:班级: 实验日期:03/30/2017 实验名称:数据库创建与管理 实验二数据库创建与管理 一、实验目的 1.熟练掌握界面方式创建和管理数据库。 2.熟练掌握查询编辑器T-SQL语句创建和管理数据库。 3.熟练掌握备份和还原数据库。 二、实验器材 1、接入Internet的计算机主机; 三、实验内容 1、界面方式创建和管理数据库 (1)创建数据库 (2)修改数据库

(3)删除数据库(使用右键) 2、利用企业管理器备份和还原数据库(1)备份数据库 (2)还原数据库(操作->右键)

(1)创建SPJ数据库:“新建查询”,输入以下语句并运行 CREATE DATABASE SPJ ON (NAME=’SPJ_Data’,FELENAME='C:\Program Files\Microsoft SQL Server\MSSQL\data\SPJ_Data.MDF' , SIZE = 3, MAXSIZE = 10, FILEGROWTH = 10%) LOG ON (NAME = 'SPJ_Log', FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL\data\SPJ_Log.LDF' ,

SIZE = 1, FILEGROWTH = 10%) (2)修改SPJ数据库:在查询分析器中输入以下语句并运行 ALTER DATABASE SPJ MODIFY FILE (NAME='SPJ_Data', SIZE=4, MAXSIZE=UNLIMITED) ALTER DATABASE SPJ ADD FILE (NAME='SPJ_Data_2', FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL\Data\SPJ_Date_2.ndf',SIZE=1, MAXSIZE=10, FILEGROWTH=10%) (3)删除SPJ数据库:DROP DA TABASE SPJ

数据库实验二

实验四数据库约束实验 实验目的 (1) 理解数据库完整性约束的概念。 (2) 掌握SQL SERVER 的完整性约束技术。 (3) 了解SQL SERVER 的违反完整性约束处理措施。 实验内容 (1) 理解实体完整性、域完整性、引用完整性和用户定义完整性的意义。 (2) 定义和管理主键(PRIMARY KEY)约束、外键(FOREIGN KEY)约束、唯一性(UNIQUE)约束。 (3) 定义和管理检查(CHECK)约束、DEFAULT 约束、允许空值约束。习题 1.在数据库EDUC中,创建下列完整性约束。 (1) 为数据库表Course_info创建一CHECK约束:当插入或修改一个记录时,确保此记录的授课学时在10~80之间。 (2) 为教师信息表Teacher_info创建CHECK约束:男教师出生日期在1960年1月1日以后,女教师出生日期在1965年1月1日以后。 (3) 为教师上课信息表TC_info创建CHECK约束:学生成绩在0~100之间。 (4) 为教师上课信息表TC_info创建外键约束:“tcid”、“tno”、“classno”和“cno”。 实验步骤: (1)打开数据库表Course_info,找到lecture并右击,在出现的菜单里单击CHECK约束,出现图1所示的窗体界面。

图 1 单击窗口中常规下的表达式后的按钮,出现如图2所示的窗体界面,为确保此记录的授课学时在10~80之间,在此窗体中输入语句:lecture>=10 and lecture<=80,单击确定按钮即可完成此约束。 图2 (2)打开数据库表Teacher_info,找到birthday并右击,在出现的菜单里单击CHECK约束,出现图1 所示的窗体界面。同样单击常规下的表达式后的按钮,在CHECK约束表达式窗体中输入下列语句: birthday>’1960-1-1’ WHERE sex=’男’, birthday<’1965-1-1’WHERE sex=’女’ (3)打开教师上课信息表TC_info,找到score并右击,在出现的菜单里单击CHECK约束,出现图1 所示的窗体界面。单击窗口中常规下的表达式后的按钮,

数据库系统原理与设计(第二版)实验一至实验三

实验一 1-1.查询员工的姓名、职务和薪水 select employeeName,headShip,salary from employee 图1-1 2.查询名字中含有“有限”的客户姓名和所在地 select CustomerName,address from Customer where CustomerName like '%有限%'

3. 查询出姓“张”并且姓名的最后一个字为“梅”的员工。 select * from employee where employeeName like '张%梅' 图1-3 4. 查询住址中含有上海或南昌的女员工,并显示其姓名、所属部门、职称、住址,其中性别用“男”和“女”显示 SELECT employeeName,department,address, isnull (convert(char(10),birthday,120),'不详')出生日期, case sex when 'M'then '男' when 'F'then'女' end as 性别 from employee where (address like '%上海%'or address like '%南昌%')and sex='F'

5. 查询出职务为“职员”或职务为“科长”的女员工的信息 select * from employee where (headship='职员' or headship='科长') and sex='F' 图1-5 6. 选取编号不在“C20050001”和“C20050004”的客户编号、客户名称、客户地址。 Select * from Customer where CustomerNo not in ( 'C20050001' ,'C20050004')

数据库应用及开发实验报告

课程名:数据库应用与开发时间:2014.9.11 实验一安装SQL Server 2008和Visual Studio2010 一、实验目的 学习和掌握SQL Server 2008 命名实例的安装,启动和连接服务器。 二、实验器材 486及以上微机,Windows xp/7/vista操作系统,安装了SQL SERVER。 三、实验容和步骤 1、SQL Server 2008的安装 (1)将安装盘放入光驱,光盘会自动运行。在开始界面中选择“服务器组件、工具,联机丛 书和示例命令,执行安装程序” (2)接受许可条款和条件,安装必备组件;使用Sql server 安装向导;进行“系统配置检查”; 输入相关注册信息;选择需要升级或安装的组件,如图1.1 (3)单击下一步按钮,在出现的实例的命令方式为命名示例,并输入实例名称,单击下一步 按钮继续进行安装。 (4)根据向导完成SQLServer2008 的安装。 图附1.1“安装中心”对话框

图附1.2“支持规则”对话框 图附1.3“服务器配置”对话框 (5)参考教材安装Microsoft Visual Studio 2010 2、visual studio2010的安装 步骤抄书(课本P22) 四、实验结果 能够按要求安装SQL Server 2008数据库管理系统软件和visual studio2010 软件,并认识和体验SQL Server 2008软件的功能。 五、实验心得 课程名:数据库应用与开发时间:2014.9.18 实验二创建数据库和修改数据库 一、实验目的与要求 1、熟悉数据库的创建命令的使用 2、学会查看和修改数据库 3、学会删除数据库 二、实验器材 微机+windows操作系统+SQL SERVER2008+SSMS 三、实验容 1.在D盘根目录下创建一个数据库db_temp,该数据库中有两个数据文件,其中主数据文件db_temp.mdf为10MB,最大大小为100MB,按10MB方式增长,一个数据文件db_temp1.ndf,,初始大小为10MB,最大大小为不限制,按10%增长,db_temp_log1,db_temp_log两个日志

数据库实验报告二

《数据库原理》实验报告 实验三: 数据库完整性与安全性控 制 实验四: 视图与索引 学号姓名 班级日期 2013302534 杨添文10011303 2015.10.1 7 实验三:数据完整性与安全性控制 一、实验内容 1.利用图形用户界面对实验一中所创建的Student库的S表中,增加以下的约束和索引。 (18分,每小题3分) (1)非空约束:为出生日期添加非空约束。 (2)主键约束:将学号(sno)设置为主键,主键名为pk_sno。 (3)唯一约束:为姓名(sname)添加唯一约束(唯一键),约束名为uk_sname。 (4)缺省约束:为性别(ssex)添加默认值,其值为“男”。 (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)(2)alter table s add constraint pk_sno primary key(sno) (3)alter table s add constraint uk_sname unique(sname) (4)alter table s add constraint a default('男')for ssex (5) alter table sc add constraint ck_grade check(grade between 0 and 100) (6) alter table sc add constraint fk_sno foreign key(sno)references s(sno) alter table sc add constraint fk_cno foreign key(cno)references c(cno)

数据库实验二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语句将所有读者借书应归还日期向后延长一天。 6.将“清华大学出版社”的图书所购册书和库存册书增加10本。 7.删除所有实际归还日期为“2009-04-17”以前且所借图书的名称中含有“数据库”字样的超期罚款记录。 8.删除“出版社信息表Publish”中出版社名称为“机械工业出版社”的元组,讨论该删除操作所受到的约束。 第二部分:实验视图 1.使用企业管理器创建一个行列子集视图View_Book,给出清华大学出版社的图书的的图书名称、书号、价格、书的页数和购买册书。 2.创建分组视图,将出版社标识及每个出版社的图书的最高价格和最低价格定义为一个视图。 3.创建一个基于题目1所建立视图的视图,定义一个视图,包括清华大学出版社的图书名称,以及购买该图书的总价格。 4.创建一个基于多个基表的视图,该视图由用户帐户、姓名、他在借书的名称组成。

大数据库系统应用与开发--实验二

实验二JDBC基础(1) 一、相关知识点 1、JDBC基本概念 2、java连接数据库的方式 3、JDBC简单查询 二、实验目的: 理解Java连接数据库的基本概念。理解JDBC的四种驱动程序,掌握纯java驱动和jdbc-odbc驱动。理解Statement对象和ResultSet对象。 三、实验内容: 1、将booklib应用的JDBC驱动程序改成JDBC-ODBC驱动方式。 第一步:设置ODBC数据源;

第二步:修改DBUtil类中的相关代码;

第三步:运行程序 【实验结果与分析】 A、说明需要修改DBUtil类的哪些地方,及修改原因? private static final String jdbcUrl="jdbc:odbc:cjeSQL"; 因为booklib应用的驱动方式是jdbc-odbc驱动 2、利用Statement对象和Result对象实现按出版社名称精确查询出版社功能(精确查 询是指查询的目标和查询条件中值完全相同的数据)。 第一步:在https://www.360docs.net/doc/8e2129434.html,.zucc.booklib.control. PublisherManager类中添加按出版社名称精确查询方法public BeanPublisher loadPubByName(String name)throws BaseException 第二步:编写上述方法,要求当相应名字的出版社不存在时,返回null值;相关代码请参考提取所有出版社函数。 第三步:启动booklib主程序,在出版社管理中录入几个出版社 第四步:清空https://www.360docs.net/doc/8e2129434.html,.zucc.booklib.control. PublisherManager类中的main函数现有内

《机械工程数据库》实验指导课案

《机械工程数据库》实验指导 第一次实验VFP的基本操作实验1:中文Visual FoxPro 6.0的操作 1.实验目的: 掌握中文Visual FoxPro 6.0的安装过程; 掌握中文Visual FoxPro 6.0的启动和退出方法; 掌握中文Visual FoxPro 6.0的主要操作界面。 2.实验内容: *2.1 中文Visual FoxPro 6.0的安装过程 此部分为选作实验。 2.2 中文Visual FoxPro 6.0的启动和退出 1.练习并掌握VFP的不同启动方法,重点掌握以下两种方法: 通过“开始”菜单启动VFP; 通过桌面快捷方式启动VFP 2.练习并掌握VFP的不同退出方法: 单击窗口标题栏的关闭按钮; 通过窗口菜单退出; 使用快捷键[ALT]+[F4]退出; 在命令窗口中输入QUIT退出。 2.3掌握中文Visual FoxPro 6.0的主要操作界面 1.掌握命令窗口的操作方法 (1)打开命令窗口操作 (2)关闭命令窗口操作 (3)使用命令窗口操作 在命令窗口输入以下内容,记下主窗口的显示内容: ① @3,5 SAY “25*2%3+(86/5-12)+5^3=”; +STR(25*2%3+(86/5-12)+5^3)

② A=23 B=”23” ?A,B 2.编辑窗口操作方法 新建一个程序,打开一个编辑窗口,输入如下程序:CLEAR INPUT “请输入整数M:” TO M INPUT “请输入整数N:” TO N S=0 T=0 DO QJCH WITH M,S &&转去执行求阶乘子程序?S DO QLJ WITH N,T &&转去执行求累加子程序?T ?S,T ***求阶乘子程序*** PROCEDURE QJCH PARAMETERS M,S S=1 FOR I=1 TO M

数据库原理实验报告(2)

南京晓庄学院 《数据库原理与应用》 课程实验报告 实验二数据库的创建、管理、备份及还原实验 所在院(系):数学与信息技术学院 班级:11软工转本2 学号: 1130708 11130710 姓名:马琦乔凌杰

1.实验目的 (1)掌握分别使用SQL Server Management Studio图形界面和Transact-SQL语句创建和修改 数据库的基本方法; (2)学习使用SQL Server查询分析窗口接收Transact-SQL语句和进行结果分析。 (3)了解SQL Server的数据库备份和恢复机制,掌握SQL Server中数据库备份与还原的方 法。 2.实验要求 (1)使用SQL Server Management Studio创建“教学管理”数据库。 (2)使用SQL Server Management Studio修改和删除“教学管理”数据库。 (3)使用Transact-SQL语句创建“教学管理”数据库。 (4)使用Transact-SQL语句修改和删除“教学管理”数据库。 (5)使用SQL Server Management Studio创建“备份设备”;使用SQL Server Management Studio对数据库“教学管理”进行备份和还原。 (6)SQL Server 2005数据库文件的分离与附加。 (7)按要求完成实验报告 3.实验步骤、结果和总结实验步骤/结果 (1) 总结使用SQL Server Management Studio创建、修改和册除“TM”(教学管理)数据库的过程。 新建数据库如下图所示: 进入sql server management studio 主界面,选择数据库右击新建数据库。 如何修改数据库 进入sql server management studio 主界面,选择数据库右击属性即可看到数据库信息,可更改数据库基本信息。

SQL数据库实验报告 实验二

实验2 SQL Server数据库的管理 1.实验目的 (1)了解SQL Server 数据库的逻辑结构和物理结构的特点。 (2)掌握使用SQL Server管理平台对数据库进行管理的方法。 (3)掌握使用Transact-SQL语句对数据库进行管理的方法。 2.实验内容及步骤 (1)在SQL Server管理平台中创建数据库。 ①运行SQL Server管理平台,在管理平台的对象资源管理器中展开服务器。 ②右击“数据库”项,在快捷菜单中选择“新建数据库”菜单项。在新建数据库对话框的数据库名称文本框中输入学生管理数据库名studentsdb,单击“确定”按钮。 (2)选择studentsdb数据库,在其快捷菜单中选择“属性”菜单项,查看“常规”、“文件”、“文件组”、“选项”、“权限”和“扩展属性”等页面。 (3)打开studentsdb数据库的“属性”对话框,在“文件”选项卡中的数据库文件列表中修改studentsdb数据文件的“分配的空间”大小为2MB。指定“最大文件大小”为5MB。修改studentsdb数据库的日志文件的大小在每次填满时自动递增5%。 (4)单击“新建查询”打开查询设计器窗口,在查询设计器窗口中使用Transact-SQL 语句CREATE DA TABASE创建studb数据库。然后通过系统存储过程sp_helpdb查看系统中的数据库信息。 (5)在查询设计器中使用Transact-SQL语句ALTER DATABASE修改studb数据库的设置,指定数据文件大小为5MB,最大文件大小为20MB,自动递增大小为1MB。 (6)在查询设计器中为studb数据库增加一个日志文件,命名为studb_Log2,大小为5MB,最大文件大小为10MB。 (7)使用SQL Server管理平台将studb数据库的名称更改为student_db。 (8)使用Transact-SQL语句DROP DATABASE删除student_db数据库。 3.实验思考 (1)数据库中的日志文件是否属于某个文件组? (2)数据库中的主数据文件一定属于主文件组吗? (3)数据文件和日志文件可以在同一个文件组吗?为什么? (4)删除了数据库,其数据文件和日志文件是否已经删除?是否任何人都可以删除数据库? (5)能够删除系统数据库吗?

相关文档
最新文档