文档库 最新最全的文档下载
当前位置:文档库 › 数据库实验二

数据库实验二

数据库实验二
数据库实验二

任课教师:

《数据库原理及应用》

学号:

姓名:

班级:

实验二数据库的简单查询和高级查询

一、实验目的:

本实验的目的是使学生掌握SQL Server查询分析器的使用方法,加深对SQL和SQL语言的查询语句的理解。熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法,加深SQL语言的嵌套查询语句的理解,熟练掌握数据查询中的分组、统计、计算和集合的操作方法。

二、实验内容

(一)简单查询操作。该实验包括投影、选择条件表达,数据排序,使用临时表等。

具体完成以下题目,将它们转换为SQL语句表示,在学生选课数据库中实现其数据查询操作。1.求数学系学生的学号和姓名

2.求选修了课程的学生学号

3.求选修课程号为‘1’的学生号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同按学号的升序排列。

4.求选修课程号为‘1’且成绩在80~90之间的学生学号和成绩,并将成绩乘以0.8输出。5.求数学系或计算机系姓张的学生的信息。

6.求缺少了成绩的学生的学号和课程号

(二)连接查询操作。该实验包括等值连接、自然连接、求笛卡儿积、一般连接、外连接、内连接、左连接、右连接和自连接等。

1.查询每个学生的情况以及他所选修的课程

2.求学生的学号、姓名、选修的课程及成绩

3.求选修课程号为‘1’且成绩在90以上的学生学号、姓名和成绩

4.查询每一门课程的间接先行课(即先行课的先行课)

(三)嵌套查询操作:在SQL Server查询分析器中使用IN、比较符、ANY或ALL和EXISTS 操作符进行嵌套查询操作。

具体完成以下各题。将它们用SQL语句表示,在学生选课中实现其数据嵌套查询操作。

1.求选修了高等数学的学号和姓名

2.求‘1’课程的成绩高于刘晨的学生学号和成绩

3.求其他系中比计算机系某一学生年龄小的学生(即年龄小于计算机系年龄最大者的学生)4.求其他系中比计算机系学生年龄都小的学生

5.求选修了‘2’课程的学生姓名

6.求没有选修‘2’课程的学生姓名

7.查询选修了全部课程的学生姓名

8.求至少选修了学号为“95002”的学生所选修全部课程的学生学号和姓名

(四)集合查询和统计查询:

1)分组查询实验。该实验包括分组条件表达、选择组条件表达的方法。

2)使用函数查询的实验。该实验包括统计函数和分组统计函数的使用方法。

3)集合查询实验。该实验并操作UNION、交操作INTERSECT和差操作MINUS的实现方法。具体完成以下例题,将它们用SQL语句表示,在学生选课中实现其数据查询操作。

1.求学生的总人数

2.求选修了课程的学生人数

3.求课程和选修了该课程的学生人数

4.求选修超过3门课的学生学号

5.查询计算机科学系的学生及年龄不大于19岁的学生

6.查询计算机科学系的学生与年龄不大于19岁的学生的交集

7.查询计算机科学系的学生与年龄不大于19岁的学生的差集

8.查询选修课程‘1’的学生集合与选修课程‘2’的学生集合的交集

9.查询选修课程‘1’的学生集合与选修课程‘2’的学生集合的差集

三、实验方法

将查询需求用SQL语言表示;在SQL Server查询分析器的输入区中输入SQL查询语句;设置查询分析器的结果区为Standard Execute(标准执行)或Execute to Grid(网格执行)方式;发布执行命令,并在结果区中查看查询结果;如果结果不正确,要进行修改,直到正确为止。

所使用的学生管理库中的三张表为:

(3)SC(选修表)

四、实验结果与分析(SQL代码及查询结果截图)

源代码:

1.1

SELECT SNO,SNAME

FROM STUDENT

WHERE SDEPT='MA';

1.2

SELECT DISTINCT SNO

FROM SC;

1.3

SELECT SNO,Grade

FROM SC

WHERE CNO='1'

ORDER BY Grade DESC,SNO;

1.4

SELECT SNO,Grade*0.8

FROM SC

WHERE CNO='1' AND Grade BETWEEN 80 AND 90 1.5

SELECT *

FROM STUDENT

WHERE SDEPT IN('CS','MA') AND SNAME LIKE '张%';

1.6

SELECT SNO,CNO

FROM SC

WHERE Grade IS NULL;

2.1

SELECT STUDENT.*,SC.*

FROM STUDENT,SC

WHERE STUDENT.SNO=SC.SNO;

2.2

SELECT STUDENT.SNO,SNAME,https://www.wendangku.net/doc/809087390.html,O,Grade FROM STUDENT,SC

WHERE STUDENT.SNO=SC.SNO;

2.3

SELECT STUDENT.SNO,SNAME,Grade

FROM STUDENT,SC

WHERE STUDENT.SNO=SC.SNO AND

https://www.wendangku.net/doc/809087390.html,O='1'AND SC.Grade>90;

2.4

SELECT https://www.wendangku.net/doc/809087390.html,O,SECOND.CPNO

FROM COURSE FIRST,COURSE SECOND

WHERE FIRST.CPNO=https://www.wendangku.net/doc/809087390.html,O;

3.1

SELECT STUDENT.SNO,SNAME

FROM STUDENT,SC,COURSE

WHERE STUDENT.SNO=SC.SNO AND

https://www.wendangku.net/doc/809087390.html,O=https://www.wendangku.net/doc/809087390.html,O AND

https://www.wendangku.net/doc/809087390.html,AME='数学';

3.3

SELECT SNAME,SAGE

FROM STUDENT

WHERE SAGE

FROM STUDENT

WHERE SDEPT='CS')

AND SDEPT<>'CS';

3.4

SELECT SNAME,SAGE

FROM STUDENT

WHERE SAGE

FROM STUDENT

WHERE SDEPT='CS')

AND SDEPT<>'CS';

3.5

SELECT SNAME

FROM STUDENT

WHERE EXISTS

(SELECT*

FROM SC

WHERE SNO=STUDENT.SNO AND CNO=2);

3.6

SELECT SNAME

FROM STUDENT

WHERE NOT EXISTS

(SELECT*

FROM SC

WHERE SNO=STUDENT.SNO AND CNO=2);

3.7

SELECT SNAME

FROM STUDENT

WHERE NOT EXISTS

(SELECT*

FROM COURSE

WHERE NOT EXISTS

(SELECT*

FROM SC

WHERE SNO=STUDENT.SNO

AND CNO=https://www.wendangku.net/doc/809087390.html,O));

截图:

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

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;

数据库系统实验报告 实验三 数据控制(安全性)..

《数据库系统概论》实验报告 题目:实验三数据控制(安全性) 班级姓名学号日期2014年6月6日 一、实验目的 1.通过SQL对数据库进行安全性控制 2.完成教材中例题的上机练习 二、实验平台 微软SQL Server 2000或以上版本。 对于SQL Server 2000,使用查询分析器运行SQL语句,对于SQL Server 2005以上的版本,使用SQL Server Management Studio运行SQL语句。 三、实验内容和要求 使用SQL对数据进行安全性控制,包括授权和权力回收。 操作完成后,查看授权用户是否真正具有所授予的数据操作权利,在权力回收操作之后,用户是否确实丧失了所回收的数据操作权力。 在前几次实验中已经建立了实验数据库,继续在此数据库上进行实验所要求的各项操作。认真填写实验报告,记录所有的实验用例。 四、实验步骤 1.以管理员sa登录数据库,新建DB数据库,然后运行如下SQL语句,创建 我们前几次实验所建立的表。 CREATE TABLE course ( Cno char(4) NOT NULL, Cname char(40) DEFAULT NULL, Cpno char(4) DEFAULT NULL, Ccredit smallint DEFAULT NULL, PRIMARY KEY (Cno) ) ; -- -- 转存表中的数据'course' -- INSERT INTO course (Cno, Cname, Cpno, Ccredit) V ALUES ('1', '数据库', '5', 4); INSERT INTO course (Cno, Cname, Cpno, Ccredit) V ALUES ('2', '数学', NULL, 2);

数据库实验报告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.wendangku.net/doc/809087390.html,O=https://www.wendangku.net/doc/809087390.html,O; 为了避免这种不合题意的情况,我们用distinct用了去除重复的元组。所以上例中的执行语句为: SELECT DISTINCT SNO FROM SC;

SELECT DISTINCT SNO FROM SC,C WHERE https://www.wendangku.net/doc/809087390.html,O=https://www.wendangku.net/doc/809087390.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四张表。每一张表都必须有主码约束,合理使用列级完整性约束和表级完整性。要作好备份以便后面的实验使用该数据库数据。 三、实验要求:

数据库原理实验报告二.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),根据逻辑设计和物理

数据库系统设计实验报告

数据库系统设计实验报告 ――教务管理系统 学院:计算机科学与技术 专业:软件工程 班级: 学号: 姓名: 指导老师:

一、概述 项目背景:数据库课程设计 系统名称:教务管理系统 开发环境:SQL Server 2008 二、需求分析 1、系统的概述 ?一个学校由很多个学院组成,每个学院有多个专业,每个专业有1个或 者多个班级。一个学生只属于1个班级,学生有姓名、学号、性别、身 份证号、入学时间等属性。 ?每个专业的每个年级都有对应的教学计划。教学计划指定了这个专业这 个年级的某门课程在那个学期上,学分、学时是多少。每个学院都设置 有1个教务秘书,这些信息都由教务秘书进行输入。每个院系的课程都 有自己的唯一编码,比如计算机系上的C语言,和电子系上的C语言, 虽然都是同一门课,但是编码是不同的。但是同一个院系中的相同的课 程,课程代码是唯一的。比如计算机学院的07计算机软件专业和计算机 学院的07计算机科学专业都有C语言课程,这两门课程的课程代码是相 同的。 ?教务秘书在每个学期的中间时刻,为下一个学期进行排课,排课的内容 根据教学计划,比如08计算机软件专业的学生,在2009-2010年第2 学期上的课程,可以通过教学计划得知要上什么课程,然后对这些课程 安排上课教师(比如陈越)、上课时间(比如星期2,第1-2节)和地点 (理工楼234),有的课程是单周上,有的双周,也有是每周都上的。 ?在每个学期期末,学生登录到网站上选择下一个学期需要上的课,选择 的时刻,可以选择是否需要教材,如果某门课程的人数选满了,则不能 给任何学生选择了。 ?学生根据选择的课程进行上课,参加考试。每个老师可以用自己的用户 名和密码登陆网站,选择这个学期自己所教的课程(一个老师可以上多 个班级的课程),输入这个班级的成绩,成绩分为期末考试成绩、期中考 试成绩、平时成绩、实验成绩以及总评成绩。这些成绩都需要进行存储。 ?为了保证安全性,老师输入的成绩并不是直接放到最终的成绩表中,而 是放在一个临时的表中,只有当教务秘书审核过后,才导入到最终的成 绩表中。

数据库实验报告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')

数据库实验报告二

《数据库原理》实验报告 实验三: 数据库完整性与安全性控 制 实验四: 视图与索引 学号姓名 班级日期 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.wendangku.net/doc/809087390.html,.zucc.booklib.control. PublisherManager类中添加按出版社名称精确查询方法public BeanPublisher loadPubByName(String name)throws BaseException 第二步:编写上述方法,要求当相应名字的出版社不存在时,返回null值;相关代码请参考提取所有出版社函数。 第三步:启动booklib主程序,在出版社管理中录入几个出版社 第四步:清空https://www.wendangku.net/doc/809087390.html,.zucc.booklib.control. PublisherManager类中的main函数现有内

数据库系统实验

实验指导书 班级:090402 姓名:郑锦坤

序言 数据库是数据管理的最新技术,是计算机科学的重要分支。通过学习重点让大家掌握数据库技术的程序设计思想和方法,学习开发管理系统的技术,并结合PB8.0以上版本和SQL SERVER 2000以上版本上机环境编程测试。 为了达到这个目的,这里安排五个实验单元。 实验报告的内容 1.题目 描述每个实验的内容是什么。 2.需求分析 用E-R图描述数据库的模式设计及每个关系模式的建立;描述数据字典及程序数据流;每个事件、函数或过程 的头和规格说明; 3.源程序清单和结果 源程序要加注释,要有测试数据及结果。

实验1:学习SQL 语句与SQL SERVER的数据库环境(4学时) 本次实验的主要目的在于学会使用SQL SERVER环境建 库的方法,学会SQL SERVER企业管理器和查询分析器的使用,通过数据库操纵环境,了解库的建立、表的建立、数据库 的查询实现方法。实验数据如下: Student SC

实验报告 1 日期: 一.SQL语句实验题目: 1.建立课程表 2.建立学生表 3.建立选课表 4.查询所有学生的详细信息

SELECT Student.SCLASS, Student.SNO,Student.SNAME, Student.SSEX, Student.SAGE , Student.SDEPT,https://www.wendangku.net/doc/809087390.html,O,SC.GRADE,https://www.wendangku.net/doc/809087390.html,AME,Course.CPNO,Course. CCREDIT FROM Course,Student,SC WHERE SC.SCLASS=Student.SCLASS AND SC.SNO=Student.SNO AND https://www.wendangku.net/doc/809087390.html,O=https://www.wendangku.net/doc/809087390.html,O 5.查询1班的学生号学及姓名 SELECT SNO,SNAME FROM Student WHERE SCLASS='1' 6.查询‘刘晨’的出生年 7.查询姓‘刘’的学生的详细情况

数据库原理实验报告(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)能够删除系统数据库吗?

数据库系统原理及应用实验全套

数据库系统原理及应用实验指导书 (本科) 福建工程学院计算机与信息科学系计算机软件与理论教研室 浅诺制作 2012年5月

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

实验一数据定义语言 一、实验目的 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\”,文件初始大小为5MB,文件的最大大小不受限制,文件的增长率为2MB; 有一个日志文件,逻辑名为StuLog,文件名为“d:\db\”,文件初始大小为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,名为郑和的学生记录;

数据库实验报告实验二

湘潭大学 数据库实验报告 实验名称SQL操作 班级软件工程一班 指导老师郭云飞(老师)学生姓名汤能武 系(院)信息工程学院实验时间2011年12月

SQL操作 一、实验目的 1.了解和掌握MS SQL Server 工具的使用; 2.熟悉掌握SQL' 3.训练学生设计与编写过程,函数与触发器的能力; 二、实验环境 1. 硬件:数据库服务器,客户机,局域网; 2.软件:MS SQL Server 2008 ,建模软件; 三、实验内容 根据给定的问题建立数据库模型,在MS SQL Management Studio 中建立该数据库,并利用SQL语句建立表格与视图,录入数据,进行查询,插入,删除,修改等操作,编写过程,函数,触发器等; 给定问题如下: 1.一个学校有若干教学楼和若干班; 2.一个教室有若干教室和若干管理人员; 3.一间教室只有一个管理人员,但一个管理人员可以管理若干个教室; 4.每周7天,每周上午,下午,晚上都可以安排上课,每周的课表都不变; 5.一间教室或班在一段时间内只能安排一堂课,但可以是合班上课;

四、实验准备 1.理论知识预习及要求 ①使用SQL语句建立数据库; ②使用SQL语句进行查询,修改等操作; ③使用SQL语句建立过程,函数,触发器等; ④使用SQL创建数据表; 2.实验指导书预习及要求 上机前先预习数据库原理指导书的实验,理解和掌握SQL语言的常用操作。 五、实验原理或操作要点简介 注意服务器要先启动,才能与服务器建立连接。 使用SQL命令,完成预定功能。 六、实验步骤 1. 分析给定问题,设计E-R 模型;

2.根据E-R图设计出该问题的关系数据模型,分析数据模型并规范之;关系模型

数据库-实验二

实验报告册2014 / 2015 学年第2 学期 系别计算机科学与技术系 实验课程数据库原理 专业计算机科学与技术 班级 姓名 学号 指导教师

实验二——SQL语句 一、实验目的 1.熟悉SQL的数据查询语言,能使用SQL进行单表查询、连接查询、嵌套查询、集合查询 和统计查询,能理解空值的处理; 2.熟悉数据库的数据更新操作,能使用SQL语句对数据库进行数据的插入、更新、删除操 作; 3.熟悉SQL支持的有关视图的操作,能创建、查询及取消视图; 4.了解NULL在数据库中的特殊含义,掌握使用SQL进行与空值相关的操作; 二、实验预习内容 在认真阅读教材及实验指导书【实验1.2 数据查询】、【实验1.3 数据更新】、【实验1.4 视图】和【实验1.6 空值和空集的处理】的基础上,上机前请预习以下内容,并在空白处填写相应的步骤或命令。 1.使用SCHOOL数据库,在SQL SERVER 2000 的查询分析器中使用SQL语言完成以下操 作。请在空白处填写相应的SQL命令。 1)查询年级为2001的所有学生的名称,按编号顺序排列; 2)查询所有课程名称中含有data的课程编号;

3)统计所有老师的平均工资; 4)查询至少选了3门课的学生编号;

5)查询学号为80009026的学生的姓名、所选课名及成绩; 6)查询没有学生选的课程编号; 7)查询既选了C++又选了Java课程的学生编号;

8)查询选了C++但没选Java课程的学生编号; 9)向STUDENTS表中插入“LiMing”的个人信息(编号:700045678,名字:LiMing,Email:LX@https://www.wendangku.net/doc/809087390.html,,年级:1992); 10)将“LiMing”的年级改为2002;

相关文档
相关文档 最新文档