当前位置:文档之家› 数据库实验报告模版

数据库实验报告模版

数据库实验报告模版
数据库实验报告模版

《数据库系统原理》课程实验

姓名:

班级:

学号:

佛山科学技术学院计算机系

2012年12月

目录

一.实验需用表格 (3)

二.实验内容 (4)

2.1 SQL数据定义 (4)

2.2实验二 SQL数据查询 (6)

2.3实验三连接、嵌套和集合查询 (10)

2.4实验四 SQL的数据更新 (15)

2.5实验五视图的定义和维护 (17)

2.6实验六触发器和存储过程 (22)

三.实验感想 (26)

一.实验需用表格

学生-课程数据库xskc中用到的三个表文件如下:

学生表:Student

课程表:Course

学生选课表:SC

二.实验内容

2.1 SQL数据定义

一、实验目的和要求

1.掌握利用SQL查询分析器和企业管理器进行数据库及基本表的定义、删除与修改;

2.掌握索引的建立与删除的方法。

二、实验内容与步骤

(一)建立数据库

通过企业管理器或查询分析器建立学生-课程数据库xskc。

create database xskc

on

( name=xskc_data,

filename='e:\sjksy\xskc_data.mdf')

log on

( name=xskc_log,

filename='e:\sjksy\xskc_log.ldf')

注:先在E:盘上建立一个文件夹(例如:E:\sjksy),数据库文件保存到自建的文件夹中。

(二)基本表的定义、修改与删除

1.定义基本表

利用查询分析器或企业管理器创建基本表,并输入数据。

【题1-01】建立一个学生表Student,它由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成。要求“学号”为主键,“姓名”不能为空,“性别”默认值为“男”。

CREATE TABLE Student

(Sno CHAR(9) PRIMARY KEY,

Sname CHAR(20) NOT NULL,

Ssex CHAR(2) DEFAULT ‘男’,

Sage INT,

Sdept CHAR(20)

);

说明:在Microsoft SQL Server 2000的查询分析器(Query Analyzer)中使用单条SQL语句,其末尾不需要分号“;”作为命令结尾标记。通常,SQL Server 2000对大多数末尾带有分号的SQL命令都能顺利执行,但对少数的SQL命令,末尾若带分号,则SQL Server 2000会给出错误信息提示。比如,若在实验五的例1的SQL命令末尾加上一个分号“;”,SQL Server 2000就会出现“Incorrect syntax near ';'”的提示,虽然SQL Server 2000实际上已经执行了该命令。

【题1-02】建立课程表Course,它由课程号Cno、课程名Cname、先修课Cpno、Ccredit学分四个属性组成。要求“课程号”为主键,“课程名”属性不能为空。

CREATE TABLE Course

(Cno CHAR(4) PRIMARY KEY,

Cname CHAR(40) NOT NULL ,

Cpno CHAR(4),

Ccredit INT

);

【题1-03】建立学生选修课表SC,包含学号Sno、课程号Cno、成绩Grade三个字段。要求建立主键及与student、kc表联接的外键,并创建检查约束(Grade>=0 and Grade<=100)。

CREATE TABLE SC

( Sno CHAR(9),

Cno CHAR(4),

Grade INT,

PRIMARY KEY(Sno,Cno),

FOREIGN KEY(Sno) REFERENCES Student(Sno),

FOREIGN KEY(Cno) REFERENCES Course(Cno)

);

2 修改基本表

利用查询分析器或企业管理器修改基本表。

【题1-04】向基本表Student中增加“入学时间”属性列,其属性名为S_entrance,数据类型为日期型。

ALTER TABLE Student ADD S_entrance DATETIME;

【题1-05】将Student表中Sage(年龄)的数据类型改为SMALLINT型。

ALTER TABLE Student ALTER COLUMN Sage SMALLINT;

【题1-06】增加课程名称必须取唯一值的约束条件。

ALTER TABLE Course ADD UNIQUE(Cname);

【题1-07】将Student表的Sdept列允许空值的属性更改为不允许为空。

ALTER TABLE Student ALTER COLUMN Sdept CHAR(20) NOT NULL;

【题1-08】删除Student表中的S_entrance列。

ALTER TABLE Student DROP COLUMN S_entrance;

3 删除基本表

【题1-09】删除Student表。

DROP TABLE Student;

说明:此表删除后,请立即将其建立起来,以便后面的例子使用。

(三)索引的建立和删除

1 建立索引

【题1-10】在基本表Student的Sname(姓名)列上建立一个聚簇索引,而且Student中的物理记录将按照Sname值的升序存放。其语句为:

CREATE CLUSTERED INDEX Stu_Sname ON Student(Sname);

【题1-11】分别为学生-课程数据库中的Student,Course,SC三个表建立索引。其中Student表按Sno(学号)升序建唯一索引,Course表按Cno(课程号)升序建唯一索引,SC表按Sno(学号)升序和Cno(课程号)号降序建唯一索引。其语句为:

CREATE UNIQUE INDEX Stu_Sno ON Student(Sno);

CREATE UNIQUE INDEX Cou_Cno ON Course(Cno);

CREATE UNIQUE INDEX SCno ON SC(Sno ASC, Cno DESC);

2 删除索引

【题1-12】删除Student表的Stu_Sname索引。

DROP INDEX Student.Stu_Sname;

2.2实验二SQL数据查询

一、实验目的和要求

1.掌握SQL Server查询分析器的使用方法,加深对SQL查询语句的理解。

2.熟练掌握查询语句的一般格式。

3.熟练掌握数据查询中的排序、分组、统计、计算和集合的操作方法。

二、实验内容及步骤

1 无条件查询

【题2-01】查询全体学生的详细记录。这是一个无条件的选择查询,其命令为:

SELECT * /*这里的“*”等价于ALL*/

FROM Student;

其结果为Student表中的全部数据。

【题2-02】查询全体学生的姓名(Sname)、学号(Sno)、所在系(Sdept)。这是一个无条件的投影查询,其命令为:

SELECT Sname, Sno, Sdept

FROM Student;

【题2-03】查询全体学生的学号(Sno)、姓名(Sname)及出生年份。由于SELECT子句的<目标列表达式>不仅可以是表中的属性列,也可以是表达式,故可以查询经过计算的值。其命令为:SELECT Sno, Sname, 2012-Sage as ‘2012-Sage’

FROM Student;

【题2-04】查询全体学生的学号、姓名、出生年份和所在系,要求用小写字母表示所有系名。其命令为:

SELECT Sno, Sname, 2012-Sage 'Year of Birth', LOWER(Sdept) Sdept

FROM Student;

【题2-05】查询选修了课程的学生学号。其命令为:

SELECT DISTINCT Sno

FROM SC;

2 条件查询

【题2-06】查询数学系(MA)全体学生的学号(Sno)和姓名(Sname)。其命令为:

SELECT Sno, Sname

FROM Student

WHERE Sdept='MA';

【题2-07】查询考试成绩有不及格的学生的学号。

SELECT DISTINCT Sno

FROM SC

WHERE Grade<60;

【题2-08】查询所有年龄在20岁以下的学生姓名(Sname)及年龄(Sage)。其命令为:

SELECT Sname, Sage

FROM Student

WHERE Sage<20;

【题2-09】查询所有年龄在18~20岁(包括18岁和20岁)之间的学生姓名(Sname)及年龄(Sage)。其命令为:

SELECT Sname, Sage

FROM Student

WHERE Sage =18 AND Sage<=22;

SELECT Sname, Sage

FROM Student

WHERE Sage BETWEEN 18 AND 22;

【题2-10】查询年龄不在18-20岁之间的学生姓名(Sname)及年龄(Sage)。其命令为:

SELECT Sname, Sage

FROM Student

WHERE Sage NOT BETWEEN 18 AND 20;

【例11】查询计算机系、数学系和信息系学生的学号(Sno)、姓名(Sname)和性别(Ssex)。其命令为:SELECT Sno, Sname, Ssex

FROM Student

WHERE Sdept IN ('CS', 'MA', 'IS');

等价于:SELECT Sno, Sname, Ssex

FROM Student

WHERE Sdept='CS' OR Sdept='MA' OR Sdept='IS';

【例12】查询既不是信息系(IS)、数学系(MA)、也不是计算机系(CS)的学生的姓名(Sname)和性别(Ssex)。其命令为:

SELECT Sname, Ssex

FROM Student

WHERE Sdept NOT IN ('IS', 'MA', 'CS');

【例13】查询所有姓刘的学生的姓名(Sname)、学号(Sno)和性别(Ssex)。其命令为:

SELECT Sname, Sno, Ssex

FROM Student

WHERE Sname LIKE '刘%';

【例14】查询姓“刘”且全名为4个汉字的学生的姓名(Sname)和所在系(Sdept)。其命令为:SELECT Sname, Sdept

FROM Students

WHERE Sname LIKE '刘____';

【例15】查询所有不姓刘的学生姓名(Sname)和年龄(Sage)。

SELECT Sname, Sage

FROM Students

WHERE Sname NOT LIKE '刘%';

【例16】查询课程名为“DB_设计”的课程号(Cno)和学分(Ccredit)。其命令为:

SELECT Cno, Ccredit

FROM Course

WHERE Cname LIKE 'DB\_设计' ESCAPE '\';

【例17】查询以"DB_"开头,且倒数第2个汉字字符为“设”的课程的详细情况。其命令为:SELECT *

FROM Course

WHERE Cname LIKE 'DB\_%设__'ESCAPE'\';

【例18】假设某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩。试查询缺少成绩的学生的学号(Sno)和相应的课程号(Cno)。其命令为:

SELECT Sno, Cno

FROM Reports

WHERE Grade IS NULL;

【例19】查询所有有成绩的学生学号(Sno)和课程号(Cno)。其命令为:

SELECT Sno, Cno

FROM SC

WHERE Grade IS NOT NULL;

【题20】查询计算机系年龄在20岁以下的学生姓名。

3 查询结果排序

例24查询选修了3号课程的学生的学号(Sno)和成绩(Grade),并按成绩降序排列。其命令为:SELECT Sno, Grade

FROM SC

WHERE Cno='3'

ORDER BY Grade DESC;

【例25】查询全体学生情况,查询结果按所在系的系名(Sdpet)升序排列,同一系中的学生按年龄(Sage)降序排列。其命令为:

SELECT *

FROM Student

ORDER BY Sdept, Sage DESC;

4 集函数的使用

例26查询学生总人数。其命令为:

SELECT COUNT(*)

FROM Student;

例27查询选修了课程的学生人数。其命令为:

SELECT COUNT(DISTINCT Sno)

FROM SC;

例28计算选修2号课程的学生平均成绩。其命令为:

SELECT AVG(Grade)

FROM SC

WHERE Cno='2';

例29查询选修2号课程的学生最高分数。其命令为:

SELECT MAX(Grade)

FROM SC

WHERE Cno='2';

例30查询学生200215122选修课程的总学分数。其命令为:

SELECT SUM(Ccredit)

FROM SC,Course

WHERE Sno='200215122' AND https://www.doczj.com/doc/27506555.html,o=https://www.doczj.com/doc/27506555.html,o;

5 查询结果分组

例31求各个课程号(Cno)及相应的选课人数。其命令为:

SELECT Cno , COUNT(Sno) CntSno

FROM SC

GROUP BY Cno;

例32查询选修了3门或3门以上课程的学生学号(Sno)。其命令为:SELECT Sno

FROM Reports

GROUP BY Sno

HA VING COUNT(Cno)>3

2.3实验三连接、嵌套和集合查询

一、实验目的和要求

1.掌握SQL Server查询分析器的使用方法,加深对SQL查询语句的理解。

2.熟练掌握查询语句的一般格式。

3.熟练掌握连接、嵌套和集合查询的使用。

二、实验内容及步骤

(一)连接查询

1 不同表之间的连接查询

【题3-01】查询每个学生及其选修课程的情况。

本查询实际上是涉及Student与SC两个表的连接操作。这两个表之间的联系是通过公共属性Sno实现的,因此,其操作命令为:

SELECT Student.*, SC.*

FROM Student, SC

WHERE Student.Sno = SC.Sno;

说明:若在以上等值连接中把目标列中重复的属性列去掉则为自然连接错误!未找到引用源。,其命令为

SELECT Student.Sno, Sname, Ssex, Sage, Sdept, Cno, Grade

FROM Student, SC

WHERE Student.Sno= SC.Sno;

2 自身连接

【例35】查`询每一门课的间接先修课(即先修课的先修课)。

在Course表关系中,只有每门课的直接先修课信息,而没有先修课的先修课。要得到这个信息,必须先对一门课找到其先修课,再按此先修课的课程号,查找它的先修课程。这就需要要将Course表与其自身连接。为方便连接运算,这里为Course表取两个别名分别为A,B。则完成该查询的SQL语句为:SELECT https://www.doczj.com/doc/27506555.html,o, https://www.doczj.com/doc/27506555.html,ame, B.Cpno

FROM Course A, Course B

WHERE A.Cpno =https://www.doczj.com/doc/27506555.html,o;

3 外连接

【例36】把例33中的等值连接改为左连接。该左连接操作在SQL Server 2000中的命令格式为:SELECT Student.Sno, Sname, Ssex, Sdept, Cno, Grade

FROM Student

LEFT JOIN SC ON

Student.Sno= SC.Sno;

说明:以上左连接操作也可以用如下的右连接操作代替,其结果完全一样。

SELECT Student.Sno, Sname, Ssex, Sdept, Cno, Grade

FROM SC

RIGHT JOIN Student ON

SC.Sno=Student.Sno;

4 复合条件连接

【例37】

【例38】查询每个学生的学号(Sno)、姓名(Sname)、选修的课程名(Cname)及成绩(Grade)。

本查询涉及到三个表的连接操作,完成该查询的SQL语句如下:

SELECT Student.Sno, Sname, Cname, Grade

FROM Student, SC, Course

WHERE Student.Sno= SC.Sno AND https://www.doczj.com/doc/27506555.html,o=https://www.doczj.com/doc/27506555.html,o;

(二)嵌套查询

1 带谓词IN的嵌套查询

【例39】查询与“李伟”在同一个系学习的学生学号(Sno)、姓名(Sname)和系名(Sdept)。

该查询可构造嵌套查询实现,其SQL语句如下:

SELECT Sno, Sname, Sdept

FROM Student

WHERE Sdept IN

(SELECT Sdept

FROM Student

WHERE Sname=’李伟’);

说明:本例中的查询也可以用自身连接来完成,其SQL语句如下:

SELECT A.Sno , A.Sname , A.Sdept

FROM Student A , Student B

WHERE A.Sdept=B.Sdept AND B.Sname=’李伟’;

【例40】查询选修了编号为“2”的课程的学生姓名(Sname)和所在系(Sdept)。

SELECT Sname, Sdept

FROM Students

WHERE Sno IN

(SELECT Sno

FROM SC

WHERE Cno='2');

【例41】查询选修了课程名为“数据结构”的学生学号(Sno)和姓名(Sname)。

本查询涉及学号、姓名和课程名(Cname)三个属性。学号和姓名存放在Student表中,课程名的存放在Course表中,但Student与Course两个表之间没有公共属性,必须通过SC表建立它们之间的联系。所以本查询实际上涉及三个关系的连接操作。

SELECT Sno, Sname /* ③最后在Studen关系中*/

FROM Student /* 取出Sno和Sname */

WHERE Sno IN

(SELECT Sno /*②然后在SC关系中找出*/

FROM SC /*选修了3号课程的学生学号*/

WHERE Cno IN

(SELECT Cno /*①首先在Course关系中*/

FROM Course /*找出“数据结构”的课程号*/

WHERE Cname = ‘数据结构’));/*结果为5号*/

说明:本查询同样可以用连接查询实现:

SELECT S.Sno, Sname

FROM Student S, SC R, Course C

WHERE S.Sno=R.Sno AND https://www.doczj.com/doc/27506555.html,o=https://www.doczj.com/doc/27506555.html,o AND https://www.doczj.com/doc/27506555.html,ame='数据结构';

2 带有比较运算符的嵌套查询

【例42】将例39改为带有比较运算符的嵌套查询。由于一个学生只可能在一个系学习,因此子查询的结果是一个值,因此可以用=代替IN,其SQL语句如下:

SELECT Sno , Sname, Sdept

FROM Student

WHERE Sdept =

(SELECT Sdept

FROM Student

WHERE Sname=’李伟’);

3 带谓词ANY或ALL的嵌套查询

【例43】查询计算机系(CS)的不超过自动化系所有学生的年龄的学生姓名(Sname)和年龄(Sage)。其查询命令为

SELECT Sname, Sage

FROM Student

WHERE Sdept<>'CS'

AND Sage<=ALL (SELECT Sage

FROM Student

WHERE Sdept= 'CS');

说明:本查询也可以用集函数来实现。其SQL语句如下:

SELECT Sname, Sage

FROM Student

WHERE Sdept<>'CS'

AND Sage<= (SELECT MIN(Sage)

FROM Student

WHERE Sdept='CS');

4 带谓词EXISTS的嵌套查询

【例44】查询所有选修了编号为“1”课程的学生姓名(Sname)和所在系(Sdept)。

本查询的SQL语句是:

SELECT Sname, Sdept

FROM Student

WHERE EXISTS

(SELECT *

FROM SC

WHERE Sno=Student.Sno AND Cno='1');

【例45】将例39改为带谓词EXISTS的查询,其SQL语句如下

SELECT Sno, Sname, Sdept

FROM Student A

WHERE EXISTS

(SELECT *

FROM Students B

WHERE B.Sdept=A.Sdept AND B.Sname=’李伟’);

【例46】查询选修了所有课程的学生姓名(Sname)和所在系。

由于没有全称量词,可将题目的意思转换成等价的用存在量词的形式:查询这样的学生,没有一门课程是他不选修的。其SQL语句为:

SELECT Sname, Sdept

FROM Student

WHERE NOT EXISTS

(SELECT *

FROM Course

WHERE NOT EXISTS

(SELECT * FROM SC WHERE Sno=Student.Sno

AND Cno=https://www.doczj.com/doc/27506555.html,o));

(三)集合查询

【例48】查询计算机系(CS)的学生或年龄不大于20岁的学生信息。

SELECT *

FROM Student

WHERE Sdept='CS'

UNION

SELECT *

FROM Student

WHERE Sage<=20;

【例49】查询计算机系(CS)的学生且年龄不大于20岁的学生的交集,这实际上就是查询数学系中年龄不大于20岁的学生。

SELECT *

FROM Student

WHERE Sdept='CS' AND Sage<=20;

【例50】查询计算机系的学生与年龄不大于20岁的学生的差集。本查询的等价说法是,查询数学系中年龄大于20岁的学生。SELECT *

FROM Student

WHERE Sdept='CS' AND Sage>20;

2.4实验四SQL的数据更新

一、实验目的和要求

掌握SQL数据插入、修改和删除语句的一般格式和使用方法。

二、实验内容及步骤

1.插入数据

【题4-01】将学生陈冬的信息(学号:200215128;姓名:陈冬;性别:男;所在系:IS;年龄:18岁)插入到Student表中。

INSERT

INTO Student(Sno,Sname,Ssex,Sdept,Sage)

V ALUES(‘200215128’,’陈冬’,’男’,’IS’,18);

INSERT

INTO Student(Sno,Sname,Ssex,Sage,Sdept)

VALUES(‘200215128’,’陈冬’,’男’,18,’IS’);

或INSERT

INTO Student

VALUES(‘200215128’,’陈冬’,’男’,18,’IS’);

【题4-02】插入一条选课记录(’200215128’,’1’)

INSERT

INTO SC(Sno,Cno)

V ALUES(‘200215128’,’1’);

【题4-03】设数据库中已有一个关系History_Student,其关系模式与Student完全一样,试将关系Student中的所有元组插入到关系History_Student中去,其SQL命令为:

INSERT

INTO History_Student

SELECT *

FROM Student;

【例4-04】对每一个系,求学生的平均年龄,并把结果存入表文件Dept_age中。Dept_age表文件属性为:Sdept(系名)、Avg_age(平均年龄)。

INSERT

INTO Dept_age(Sdept,Avg_age)

SELECT Sdept,AVG(Sage)

FROM Student

GROUP BY Sdept;

2.修改数据

【题4-05】将学号为“200215121”的学生年龄改为22岁。即要修改满足条件的一个元组的属性值。

UPDATE Student

SET Sage=22

WHERE Sno=’200215121’;

【题4-06】将所有学生的年龄增加1岁。即要修改多个元组的值。

UPDATE Student

SET Sage=Sage+1;

【题4-07】将计算机科学系所有学生的成绩置零。

由于学生所在系的信息在Student表中,而学习成绩在SC表中,因此,可以将SELECT子查询作为WHERE 子句的条件表达式。故该更新要求的SQL命令为:

UPDATE SC

SET Grade=0

WHERE ‘CS’=

(SELECT Sdept

FROM Student

WHERE Student.Sno=SC.Sno);

3.删除数据

【题4-08】删除学号为200215128的学生记录。

DELETE

FROM Student

WHERE Sno=’200215128’;

【题4-09】删除所有学生的选课记录。

DELETE

FROM SC;

这条DELETE语句将删除SC的所有元组,使SC成为空表。

【题4-10】删除计算机科学系所有学生的选课记录。

DELETE

FROM SC

WHERE ‘CS’=

(SELECT Sdept

FROM Student

WHERE Student.Sno=SC.Sno);

2.5实验五视图的定义和维护

一、实验目的和要求

1.掌握SQL视图建立、修改和删除;

2.掌握SQL视图查询。

二、实验内容

方法一:利用SQL语言实现视图的建立、删除、查询、更新

(一)定义视图

1 建立视图

【题5-01】建立数学系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有数学系(MA)的学生,视图的属性名为Sno,Sname,Sage,Sdept。

CREATE VIEW C_Student

AS

SELECT Sno, Sname, Sage, Sdept

FROM Student

WHERE Sdept=’MA’

WITH CHECK OPTION

【题5-02】建立学生的学号(Sno)、姓名(Sname)、选修课程名(Cname)及成绩(Grade)的视图。

本视图由三个基本表的连接操作导出,其SQL语句如下:

CREATE VIEW Student_CR

AS

SELECT Student.Sno, Sname, Cname, Grade

FROM Student, SC, Course

WHERE Student.Sno= SC.Sno AND https://www.doczj.com/doc/27506555.html,o=https://www.doczj.com/doc/27506555.html,o

【题5-03】定义一个反映学生出生年份的视图。

CREATE VIEW Student_birth(Sno, Sname, Sbirth)

AS SELECT Sno, Sname, 2007-Sage

FROM Student

2 删除视图

【题5-04】删除视图Student_birth。

DROP VIEW Student_birth;

(二)查询视图

【题5-05】在数学系的学生视图C_Student中找出年龄(Sage)小于20岁的学生姓名(Sname)和年龄(Sage)。

SELECT Sname, Sage

FROM C_Student

WHERE Sage<20;

说明:本例转换后的查询语句为:

SELECT Sname, Sage

FROM Student

WHERE Sdept=’MA’ AND Sage<20;

【题5-06】在Student_CR视图中查询成绩在85分以上的学生学号(Sno)、姓名(Sname)和课程名称(Cname)。

SELECT Sno, Sname, Cname

FROM Student_CR

WHERE Grade>85;

(三)更新视图

【题5-07】将数学系(MA)学生视图C_Student中学号为200215123的学生姓名改为“黄海”。

UPDATE C_Student

SET Sname='黄海'

WHERE Sno='200215123';

说明:DBMS自动转换为对基本表的更新语句如下:

UPDATE Student

SET Sname='黄海'

WHERE Sno='200215123' AND Sdept='数学';

【题5-08】向数学系学生视图C_Student中插入一个新的学生记录,其中学号为“200215124”,姓名为“王海”,年龄为20岁。

INSERT

INTO C_Student

VALUES ('200215124', '王海', 20, ’MA’);

【题5-09】删除数学系学生视图C_Student中学号为“200215124”的记录。

DELETE

FROM C_Student

WHERE Sno=’200215124’

方法二:利用企业管理器和视图创建向导实现视图的建立、删除、查询、更新视图是根据子模式建立的虚拟表。一个视图可以由一个表构造,也可以由多个表构造。利用企业管理器和视图创建向导进行创建,查看和修改视图就如同对表的操作一样,非常容易。

1.创建视图

下面利用了SQL Server中提供的视图创建向导,来实现建立计算机科学系(CS)选修了1号课程的学生视图。

(1)打开企业管理器窗口,确认服务器,打开数据库文件夹,选中新视图所在的数据库(此例为xskc)。

(2)选择菜单:[工具]|[向导]

(3)在如图5-1所示的向导选择对话框中,单击数据库左边的“+”号,使之展开。选择“创建视图向导”项,单击“确定”按键。

图5-1 向导选择对话框

(4)进入创建视图向导后,首先出现的是欢迎使用创建视图向导对话框,其中简单介绍了该向导的功能。单击“下一步”后,就会出现选择数据库对话框。

(5)在选择数据库对话框中,选择视图所属的数据库。本例的数据库为“xskc”。单击“下一步”按键,则进入选择表对话框。

(6)在选择表对话框中,列出了指定数据库中所有用户定义的表。用户可以从中选择构造视图所需的一个表或者多个表,被选中的表成为构造视图的参考表。选择构造视图参考表的方法是:用鼠标单击表后的“包含在视图中”列,使复选框为选中状态。在本例的数据库中选中学生表(Student)和选课表(SC)。

单击“下一步”按键,则进入选择对话框。

(7)列选择对话框中以表格形式列出了创建视图参考表的全部属性,每个属性占表的一行,创建视图参考属性可以在表格中选出。选择视图参考属性的方法是用鼠标单击属性名后边的“选择列”列,使复选框为选中状态。本例中Student.Sno、Student.Sname、SC.Grade属性要被选中。

单击“下一步”按键,进入创建视图的定义限制对话框,如图5-2所示。

图5-2 定义限制对话框

(8)在定义限制对话框中,输入表的连接和元组选择条件。本例输入: WHERE Sdept=’C S’ and Student.Sno=SC.Sno and SC.C no=’1’。

单击“下一步”按键,出现视图名对话框。

(9)在输入视图名对话框中输入所建视图的标识名。本例的视图名为“CSSC-View”。单击“下一步”按键,则出现视图创建完成对话框。

在完成对话框中给出了根据前面对话框输入的内容译成的SQL语句。您可以认真阅读该SQL语句,如果发现与要求有不符合之处可以直接进行修改。

确认无误后单击“完成”按钮。随后出现一个通知用户已成功创建视图的信息框,单击“确认”按钮后,整个创建视图工作就完成了。

2.查看和修改视图

视图创建好后,就可以利用它进行查询信息了。如果发现视图的结构不能很好地满足要求,还可以在企业管理器对它进行修改。

在企业管理器中修改视图结构需要首先选择服务器,数据库,并使数据库展开,然后用鼠标右击要修改的视图,在弹出的菜单上选择“设计视图”项,则弹出一个视图设计对话框,如图5-3所示。当对其修改完毕后关闭窗口,新的视图结构就会取代原先的结构。

数据库实验报告

课程设计报告题目:数据库实验上机实验报告 专业班级:计算机科学与技术1210班 学号: U9 姓名:候宝峰 指导教师: 报告日期: 2015-06-04 计算机科学与技术学院

目录 一、基本SQL操作(部分选做)............. 错误!未定义书签。 1)数据定义........................... 错误!未定义书签。 2)数据更新........................... 错误!未定义书签。 3)用SQL语句完成下述查询需求:....... 错误!未定义书签。 二、DBMS综合运用(部分选做)............. 错误!未定义书签。 1)学习sqlserver的两种完全备份方式:数据和日志文件的脱机备份、系统的备份功能(选做)。......... 错误!未定义书签。 2)学习系统的身份、权限配置操作....... 错误!未定义书签。 3)了解SQLSERVER的存储过程、触发器、函数实现过程错误!未定义书签。 三、实验总结............................. 错误!未定义书签。 1)实验问题及解决..................... 错误!未定义书签。 2)实验心得........................... 错误!未定义书签。

一、基本SQL操作(部分选做) 1)数据定义 参照下面的内容建立自己实验所需的关系数据 创建三个关系: 商品表【商品名称、商品类型】 GOODS【GNAME char(20),GTYPE char(10)】 主关键字为(商品名称)。商品类型为(电器、文具、服装。。。) 商场【商场名称,所在地区】 PLAZA【PNAME char(20),PAREA char(20)】 主关键字为商场名称。所在地区为(洪山、汉口、汉阳、武昌。。。) 销售价格表【商品名称、商场名称、当前销售价格、目前举办活动类型】 SALE【GNAME char(20),PNAME char(20),PRICE FLOAT,ATYPE char(10)】主关键字为(商品名称、商场名称)。举办活动类型为(送券、打折),也可为空值,表示当前未举办任何活动。表中记录如(‘哈森皮靴’,‘亚贸广场’,200,‘打折’),同一商场针对不同的商品可能采取不同的促销活动。 create table goods(gname char(20) primary key,gtype char(10)); create table plaza(pname char(20) primary key,parea char(20)); create table sale (gname char(20), pname char(20), price FLOAT, atype char(10)check (atype in('送券','打折','')), primary key(gname,pname), foreign key(gname)references goods(gname), foreign key(pname)references plaza(pname)); 图1 goods表 图2 plaza表 图3 sale表 2)数据更新 (1)向上述表格中用sql语句完成增、删、个、改的操作;

数据库实验报告完整

华北电力大学 实验报告 | | 实验名称数据库实验 课程名称数据库 | | 专业班级:学生姓名: 学号:成绩: 指导教师:实验日期:2015/7/9

《数据库原理课程设计》课程设计 任务书 一、目的与要求 1.本实验是为计算机各专业的学生在学习数据库原理后,为培养更好的解决问题和实际动手能力 而设置的实践环节。通过这个环节,使学生具备应用数据库原理对数据库系统进行设计的能力。 为后继课程和毕业设计打下良好基础。 2.通过该实验,培养学生在建立数据库系统过程中使用关系数据理论的能力。 3.通过对一个数据库系统的设计,培养学生对数据库需求分析、数据库方案设计、系统编码、界 面设计和软件调试等各方面的能力。是一门考查学生数据库原理、面向对象设计方法、软件工程和信息系统分析与设计等课程的综合实验。 二、主要内容 针对一个具有实际应用场景的中小型系统(见题目附录)进行数据库设计,重点分析系统涉及的实体、实体之间的联系,实现增加、删除、更新、查询数据记录等基本操作。大致分为如下步骤: 1. 理解系统的数据库需求,分析实体及实体间联系,画出E-R图: 1)分析确定实体的属性和码,完成对该实体的实体完整性、用户自定义完整性的定义。 2)设计实体之间的联系,包括联系类型和联系的属性。最后画出完整的E-R图。 2.根据设计好的E-R图及关系数据库理论知识设计数据库模式: 1)把E-R图转换为逻辑模式; 2)规范化设计。使用关系范式理论证明所设计的关系至少属于3NF并写出证明过程;如果不属于3NF则进行模式分解,直到该关系满足3NF为止,要求写出分解过程。 3)设计关系模式间的参照完整性,要求实现级联删除和级联更新。 4)用SQL语言完成数据库内模式的设计。 3.数据库权限的设计: 1)根据系统分析,完成授权操作; 2)了解学习收回权限的操作。 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兆字节增长;日志文件初

SQL 数据库实验报告3

一、实验内容 (1)掌握在SQL Server管理平台中对表进行插入、修改和删除数据操作的方法。 (2)掌握使用Transact-SQL语句对表进行插入、修改和删除数据操作的方法。 二、实验器材(设备、元器件) Window7操作系统,SQL Server软件 三、实验步骤 (1)启动SQL Server管理平台,在对象资源管理器中展开studentsdb数据库文件夹。 (2)在studentsdb数据库中包含有数据表student_info、curriculum、grade,这些表的数据结构如图所示在studentsdb数据库中包含有数据表student_info、curriculum、grade,这些表的数据结构如图所示 (3)在SQL Server管理平台中创建student_info、curriculum表。 学生基本情况表student_info 课程信息表curriculum

①启动SQL Server管理平台,在对象资源管理器中展开studentsdb数据库文件夹。 ②在SQL Server管理平台中创建student_info表。 ③在SQL Server管理平台中创建curriculum表。 (4)使用Transact-SQL语句CREATE TABLE在studentsdb数据库中创建表 学生成绩表grade

①新建查询,输入Transact-SQL语句,点击执行 ②出现如下界面,学生成绩表grade建立成功 (5)在SQL Server管理平台中,将student_info表的学号列设置为主键,非空。

(6)student_info、curriculum、grade表中的数据如图所示。 student_info的数据 curriculum的数据 grade的数据 (7)在SQL Server管理平台中为student_info表添加数据

数据库实验报告模版

《数据库系统原理》课程实验 姓名: 班级: 学号: 佛山科学技术学院计算机系 2012年12月

目录 一.实验需用表格 (3) 二.实验内容 (4) 2.1 SQL数据定义 (4) 2.2实验二 SQL数据查询 (6) 2.3实验三连接、嵌套和集合查询 (10) 2.4实验四 SQL的数据更新 (15) 2.5实验五视图的定义和维护 (17) 2.6实验六触发器和存储过程 (22) 三.实验感想 (26)

一.实验需用表格 学生-课程数据库xskc中用到的三个表文件如下: 学生表:Student 课程表:Course 学生选课表:SC

二.实验内容 2.1 SQL数据定义 一、实验目的和要求 1.掌握利用SQL查询分析器和企业管理器进行数据库及基本表的定义、删除与修改; 2.掌握索引的建立与删除的方法。 二、实验内容与步骤 (一)建立数据库 通过企业管理器或查询分析器建立学生-课程数据库xskc。 create database xskc on ( name=xskc_data, filename='e:\sjksy\xskc_data.mdf') log on ( name=xskc_log, filename='e:\sjksy\xskc_log.ldf') 注:先在E:盘上建立一个文件夹(例如:E:\sjksy),数据库文件保存到自建的文件夹中。 (二)基本表的定义、修改与删除 1.定义基本表 利用查询分析器或企业管理器创建基本表,并输入数据。 【题1-01】建立一个学生表Student,它由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成。要求“学号”为主键,“姓名”不能为空,“性别”默认值为“男”。 CREATE TABLE Student (Sno CHAR(9) PRIMARY KEY, Sname CHAR(20) NOT NULL, Ssex CHAR(2) DEFAULT ‘男’, Sage INT, Sdept CHAR(20) ); 说明:在Microsoft SQL Server 2000的查询分析器(Query Analyzer)中使用单条SQL语句,其末尾不需要分号“;”作为命令结尾标记。通常,SQL Server 2000对大多数末尾带有分号的SQL命令都能顺利执行,但对少数的SQL命令,末尾若带分号,则SQL Server 2000会给出错误信息提示。比如,若在实验五的例1的SQL命令末尾加上一个分号“;”,SQL Server 2000就会出现“Incorrect syntax near ';'”的提示,虽然SQL Server 2000实际上已经执行了该命令。 【题1-02】建立课程表Course,它由课程号Cno、课程名Cname、先修课Cpno、Ccredit学分四个属性组成。要求“课程号”为主键,“课程名”属性不能为空。 CREATE TABLE Course (Cno CHAR(4) PRIMARY KEY, Cname CHAR(40) NOT NULL , Cpno CHAR(4), Ccredit INT

数据库实验报告

数据库实验报告

武汉理工大学 学 生 实 验 报 告 书 实验课程名称 数据库系统概论 开 课 学 院 计算机科学与技术学院 指导老师姓名 学 生 姓 名 学生专业班级 学生学号 实验课成绩

2013 — 2014 学年第二学期实验课程名称:数据库系统概论 实验项目名称SQL SEVER 2000的系 统工具及用户管理 实验 成绩 实验者专业班 级 组别 同组者实验 日期 2014年4 月24日

第一部分:实验分析与设计(可加页) 一、实验内容描述(问题域描述) 实验目的和要求:了解SQL SEVER 2000的功能及组成,熟练掌握利用SQL SEVER 2000工具创建数据库、表、索引和修改表结构及向数据库输入数据、修改数据和删除数据的操作方法和步骤,掌握定义数据约束条件的操作。 二、实验基本原理与设计(包括实验方案设计,实 验手段的确定,试验步骤等,用硬件逻辑或者算法描述) 实验内容和步骤: (1)熟悉SQL SEVER 2000的界面和操作。 (2)创建数据库和查看数据库属性。 (3)创建表、确定表的主码和约束条件。 (4)查看和修改表的结构。 (5)向数据库输入数据,观察违反列级约束时出现的情况。 (6)修改数据。 (7)删除数据,观察违反表级约束时出现的情况。 三、主要仪器设备及耗材 Windows XP SQL SERVER 2000

第二部分:实验调试与结果分析(可加页) 一、调试过程(包括调试方法描述、实验数据记录, 实验现象记录,实验过程发现的问题等) 没有错误 错误:未能建立与WORKEPLACE\XUMENGXING的链接SQL Server 不存在或访问被拒绝 原因:未启动数据库服务 二、实验结果及分析(包括结果描述、实验现象分 析、影响因素讨论、综合分析和结论等) 实验结果部分截图:

数据库实验报告大全 广工 蔡延光版

自动化学院自动化专业班学号 姓名实验时间2011.3.14 教师评定 实验题目数据定义 实验报告一 一、实验目的与要求 目的:使用SQL语言实现数据库的创建、删除;基本表的创建、删除、更新工作;以及索引的创建、删除工作。 要求:1、在SQL SERVER 2000查询分析器中,利用SQL语言中CREATE、DROP 命令实现数据库的创建及删除工作。 2、在SQL SERVER 2000查询分析器中,利用SQL语言中CREATE、ALTER及DROP命令进行基本表的创建、更新、删除工作,并实现基本表中各类完整性约束条件的限定。 3、在SQL SERVER 2000查询分析器中,利用SQL语言中CREATE、ALTER及DROP命令进行基本表中索引的创建、更新、删除工作。 4、完成上述工作后,在SQL SERVER 2000企业管理器中,查看是否成功创建实验所要求数据库、基本表、各类完整性约束条件及索引等内容。 二、实验方案 所有实验内容必须在SQL Server 2000的查询分析器中完成,设置查询分析器的结果区为Standard Execute(标准执行)或Executed Grid(网格执行)方式.发布执行命令.并在结果区中查看查询结果,如果结果不正确则需要进行修改,直到正确为止。要求完成如下内容: 1.定义数据库 定义一个借阅数据库,要求所定义的数据库大小为1M,且数据库名称为Labery_学号。 2.定义下列数据库基本表 在所定义的借阅数据库Labery_学号中,按要求定义如下数据库表: 1)书(book)

列名别名类型及长度是否可为空书号bno char(8)否 类别category varchar(10)否 书名title varchar(40)否 出版社press varchar(30)是 年份book_year Int否 作者author char(20)是 价格price decimal(7,2)否 总藏书量book_total Int否 2)借书证(card) 列名别名类型及长度是否可为空卡号cno char(7)否 姓名name char(8)否 单位department varchar(40)是 类别type char(1)否 3)借书记录(borrow) 列名别名类型及长度是否可为空卡号cno char(7)否 书号bno char(8)否 借书日期borrow_date smalldatetime否 还书日期return_date smalldatetime是 3.完整性约束条件: 主要内容为: 1)确定各基本表的主码; 2)确定各基本表的外码; 3)要求在定义各基本表的同时,确定如下完整性约束条件 1、定义各基本表主码,并且要求主属性不能为空; 2、如果有外码,定义各基本表外码; 3、要求检查借书证中属性Type的值是否为('T','G','U','F')); 4、借书记录borrow基本表中borrow_date默认日期为当前时间。4)确定各基本表哪些字段需要建立索引。

数据库实验报告(一)

滨江学院 题目数据库实验报告(一) 学生姓名 学号 系部电子工程系 专业通信工程 指导教师林美华 二O一三年十二月十八日

实验一数据库的定义实验 本实验需要2学时。 一、实验目的 要求学生熟练掌握和使用SQL、SQL Server企业管理器创建数据库、表、索引和修改表结构,并学会使用SQL Server 查询分析器接收语句和进行结果分析。 二、实验内容 1 创建数据库和查看数据库属性。 2 创建表、确定表的主码和约束条件。为主码建索引。 3 查看和修改表结构。 4 熟悉SQL Server企业管理器和查询分析器工具的使用方法。 三、实验步骤 1 基本操作实验 (1) 使用企业管理器按教材中的内容建立图书读者数据库。 (2)在企业管理器中查看图书读者数据库的属性,并进行修改,使之符合要求。 (3)通过企业管理器,在建好的图书借阅数据库中建立图书、读者和借阅3个表,其结构为; 图书(书号,类别,,作者,书名,定价,作者). 读者(编号,,单位,性别,). 借阅(书号,读者编号,借阅日期) 要求为属性选择合适的数据类型,定义每个表的主码.是否允许空值和默认值等列级数据约束。 (4)在企业管理器中建立图书、读者和借阅3个表的表级约束.每个表的主码约束.借阅表与图书表间、借阅表与读者表之间的外码约束,要求按语义先确定外码约束表达式.再通过操作予以实现.实现借阅表的书号和读者编号的惟一性约束:实现读者性别只能是“男”或“女”的Check(检查)约束。 2 提高操作实验 (一) 将教材中用SQL描述的建立学生--课程操作.在SQL Server企业管理器中实现。库中表结构为: 学生(学号,,年龄,性别,所在系). 课程(课程号,课程名,先行课). 选课(学号,课程号,成绩) 要求: 1)建库、建表和建立表间联系。, 2)选择合适的数据类型。 3)定义必要的索引、列级约束和表级约束. 四、实验方法 l创建数据库 (1)使用企业管理器创建数据库的步骤 1)从“开始”菜单中选择;“程序”“Microsoft SQL2000”“企业管理器”.

数据库实验报告

数据库实验报告 集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)

课程名称:数据库原理与应用 实验内容:数据库安全性管理 作者所在系部:网络工程系 作者所在专业:网络工程 作者所在班级: B13521 作者姓名:李文阳 作者学号: 指导教师姓名:王振夺 北华航天工业学院教务处制 实验四数据库安全性管理 一、实验目的 1、理解数据库的安全性机制; 2、掌握SQL Server 2005的验证模式、登录管理、用户管理、角色 管理以及权限管理; 二、实验内容 (一)附加上次实验所创建的数据库“db_Library”,并回顾该库的数据表信息。 (二)设置SQL Server的安全验证模式,并以两种方式尝试登录。

(三)登录账户管理 1、以管理员身份登录SQL Server,修改sa的密码。 2、使用SQL语句创建一个SQL Server登录账户,账户名为你的名字拼音,密码自定义。创建完成后,以该账户来进行登录。 3、使用SQL语句来修改上述登录账户的密码。 4、禁用上述登录账户连接SQL Server,并进行验证。 (四)数据库用户管理 1、使用SQL语句添加db_Library数据库用户User2,其登录账户为上题所创建的SQL Server登录账户,使用默认dbo架构,并赋予该用户能够运行Select语句的权限。 (五)权限管理 1、使用SSMS将创建数据表和创建视图的权限授予User2。 2、使用SQL语句将对db_Library数据库中图书信息表的查询、插入、以及对书名和作者列的修改权限授予用户User2。 3、使用SSMS收回User2创建数据表和创建视图的权限。 4、使用SQL语句收回User2修改书名和作者列的权限。 (六)删除上述所建立的数据库用户以及登录账户。 三、实验步骤 主要实现的SQL语句。 使用T-SQL语句创建一个SQL Server登录账户,账户名为你的名字拼音,密码自定义。创建完成后,以该账户来进行登录。

数据库综合实验报告(学生成绩管理系统)

数据库综合实验报告 班级:计科*** 班 学号: **** 姓名: *** 2011年12月

数据库应用系统的初步开发 一、实验类别:综合型实验 二、实验目的 1.掌握数据库设计的基本技术,熟悉数据库设计的每个步骤中的任务和实施方案,并加深对数据库系统系统概念和特点的理解。 2.初步掌握基于C/S 的数据库应用系统分析、设计和实现方法。 3.进一步提高学生的知识综合运用能力。 三、实验内容 在SQL Server2000数据库管理系统上,利用 Microsoft Visual C++ 6.0开发工具开发一个学生成绩管理系统的数据库应用系统。 四、实验过程 (一.)系统需求说明 1 系统功能要求设计:此系统实现如下系统功能: (1)使得学生的成绩管理工作更加清晰、条理化、自动化。 (2)通过用户名和密码登录系统,查询课程基本资料,学生所选课程成绩,修改用户密码等功能。 容易地完成学生信息的查询操作。 (3) 设计人机友好界面,功能安排合理,操作使用方便,并且进一步考虑系统在安全性,完整性,并发控制,备份和恢复等方面的功能要求。 2 系统模块设计 成绩管理系统大体可以分成二大模块如, 一是学生的基本信息模块,里面应该包含学生的各方面的基本信息;再者便是课程管理模块, 在该模块中应该包含有对学生成绩信息的查询和处理,如平均成绩、最好成绩、最差成绩以及不及格学生的统计等功能模块;再其次还有教师、课程等相关信息的模块;可以得到系统流程图: 登陆失败 退出系统 用户 验证 登陆成功

3 数据字典 数据项是数据库的关系中不可再分的数据单位,下表分别列出了数据的名称、数据类型、长度、取值能否为空。利用SQL Server 2000建立“学生选课”数据库,其基本表清单及表结构描述如下: 数据库中用到的表: 数据库表名关系模式名称备注 Student 学生学生学籍信息表 Course 课程课程基本信息表 Score 成绩选课成绩信息表 Student基本情况数据表,结构如下: 字段名字段类型Not Null 说明 Student _sno Char Primary key 学号 Student _sn char Not Null 学生姓名 Student _sex char ‘男’或‘女’性别 Student _dept char 系别 Student_age char 年龄 Student_address char 地址 course数据表,结构如下: 字段名字段类型约束控制说明 course_cno char 主键(primary key)课程号 char not null 课程名称course_cnam e course_hour int not null 课时 course_score numeric(2,1) not null 学分 score情况数据表,结构如下: 字段名字段类型约束控制说明 score_id int not null 成绩记录号 course_cno char 外部键课程号 student_sno char 外部键学号 score int 成绩 (二)数据库结构设计 1.概念结构设计 由需求分析的结果可知,本系统设计的实体包括: (1)学生基本信息:学号,姓名,性别,地址,年龄,专业。 (2)课程基本信息:课程名,课程号,分数,学时,学分。

(完整版)数据库实验报告

数据库实验报告姓名学号

目录 一.实验标题:2 二.实验目的:2 三.实验内容:2 四.上机软件:3 五.实验步骤:3 (一)SQL Server 2016简介3(二)创建数据库 4 (三)创建数据库表 7(四)添加数据17 六.分析与讨论: 19

一.实验标题: 创建数据库和数据表 二.实验目的: 1.理解数据库、数据表、约束等相关概念; 2.掌握创建数据库的T-SQL命令; 3.掌握创建和修改数据表的T-SQL命令; 4.掌握创建数据表中约束的T-SQL命令和方法; 5.掌握向数据表中添加数据的T-SQL命令和方法三.实验内容: 1.打开“我的电脑”或“资源管理器”,在磁盘空间以自己的姓名或学号建立文件夹; 2.在SQL Server Management Studio中,使用create database命令建立“学生-选课”数据库,数据库文件存储在步骤1建立的文件夹下,数据库文件名称自由定义; 3.在建立的“学生-选课”数据库中建立学生、课程和选课三张表,其结构及约束条件如表所示,要求为属性选择合适的数据长度; 4.添加具体数据;

四.上机软件: SQL Server 2016 五.实验步骤: (一)SQL Server 2016简介 1.SQL Server 2016的界面 2.启动和退出SQL Server 2016 1)双击图标,即出现SQL Server2016的初始界 2)选择“文件”菜单中的“退出”命令,或单击控制按钮中的“×”即可 注意事项: 1.在退出SQL Server 2016之前,应先将已经打开的数据库进行保存, 2.如果没有执行保存命令,系统会自动出现保存提示框,根据需要选择相应的操作

(完整word版)数据库实验报告8

. 西安科技大学 《数据库原理及应用》课程设计报告 题目:寄宿学校管理信息系统的设计与实现 学院:计算机科学与技术学院 专业及班级:软件工程1202及1203班 学号:1208010206 1208010207 1208010303 姓名:李倩魏楠楠王青枝 日期:2014年7月9日

目录 1课程设计目的及意义 (2) 2设计内容及人员分工 (2) 3 需求分析 (2) 3.1 需求陈述 (2) 3.2 功能需求 (2) 3.3 数据需求 (3) 3.4 其它需求 (3) 4 数据库设计 (3) 4.1概念结构设计 (3) 4.2逻辑结构设计 (4) 4.3数据表结构设计 (4) 5 系统功能设计 (6) 6 系统实现 6.1 开发环境 (7) 6.2 数据库的创建与连接技术 (7) 4.3 主要功能的运行结果及代码 (9)

7 总结 (13) 参考文献 (13) 1、课程设计的目的和意义 课程设计目的:通过本课程设计,培养学生具有C/S模式的数据库应用软件系统的 设计和开发能力;熟练掌握SQL Server数据库的使用,熟练掌握使用VC、VB或其它开发工具开发数据库应用的能力;为毕业设计打下坚实的基础。学生根据所学的数据库原理与程序设计的知识, 通过对一个实际问题的分析,设计与实现,将原理与应用相结合,使学生学会如何把书本上学到的知识用于解决实际问题,培养学生的动手能力;另一方面,使学生能深入理解和灵活掌握教学内容。 课程设计的意义:通过对这个系统的设计,让我们更加熟悉SQL Sever 2008的相关操 作,也巩固了这学期学习的数据库的一些知识,让我们更懂得数据库的重要性无论是在生活中,还是在软件的设计和制作过程中。让我们学会了数据库的设计,经历了数据库设计的几个阶段,比如需求分析,概念结构设计,逻辑结构的设计,都让我们努力的去想,去做,懂得数据库的优化,想想怎么做才是最好的。做出一个比较满意的数据库设计。 2、设计内容及人员分工 魏楠楠:数据库的需求分析,概念设计 王青枝:数据库逻辑设计,表结构设计 李倩:数据库触发器创建实现 3、需求分析 3.1 需求陈述: 某寄宿学校需要开发一个信息管理系统,通过该管理系统可以对学生的日常事务进行管理: 校长助理:可以对学生的档案进行管理,可以进行新增、删除、查询、修改等操作。 财务人员:进行每月的收费和退费工作,每个学生的每月费用包括住宿费,伙食费220,在6-8月收取空调费20,在11-2月收取取暖费20,每个学期的开学初(3月、9月)收取书本费(不定)。住宿费分三种情况:双职工的子女为60,单职工的子女80元,父母均不在本单位工作为100元。每个班的老师在每天要申报本班学生的出勤表,由校长助理完成

数据库实验报告一

实验成绩 《数据库系统原理及应用》实验报告 实验一 SQL Server数据库和表 专业班级:软件1402 姓名魏振方学号201416920306 完成时间:2016.10.17_ 一、实验目的 熟悉SQL Server Management Studio(SSMS)的工作环境;掌握图形化和命令建立数据库的两种方法;熟练掌握T-SQL语句创建、修改和删除表;熟练掌握T-SQL语句插入、修改和删除表数据 二、实验内容及要求 1. 采用图形化方式创建学生—课程数据库,要求: 1) 使用SSMS创建测试数据库test,数据文件初始大小为5MB,最大大小50MB,按5MB增长;日志文件初始为2MB,最大可增长到10MB,按2MB增长;其余参数取默认值。 2.以下操作全部采用命令即T-SQL语句进行 1)用T-SQL语句删除创建的数据库test。 2) 用T-SQL语句创建数据库stu,所有选项取默认值。 3)在stu数据库中创建三个表,关系模式如下所示: 学生表:Student(Sno,Sname,Ssex,Sage,Sdept) 课程表:Course(Cno,Cname,Cpno,Ccredit),其中Cpno为外码 学生选课表:SC(Sno,Cno,Grade),其中Sno为外码,Cno为外码 3.用图形化的方式向student、course和sc表添加记录,每个表至少5条记录 4.用T-SQL语句分别对三张表执行增删改操作,操作例子自己设计 三、实验步骤和结果

1、使用SSMS创建测试数据库test,数据文件初始大小为5MB,最大大小50MB,按5MB 增长;日志文件初始为2MB,最大可增长到10MB,按2MB增长;其余参数取默认值 图 1 2、用T-SQL语句删除创建的数据库test。 T-SQL语句: USE master GO drop database test; 图 2 3、用T-SQL语句创建数据库stu,所有选项取默认值。 T-SQL语句:create database stu;

《数据库原理与应用》实验报告书修改版(1)答案

《数据库原理与应用》实验报告书修 改版(1)答案 《数据库原理与应用》实验报告书班级:学号:姓名:教师:郑先容医药信息工程学院·数据决策2012年2月目录实验一利用ACCESS 创建数据库及熟悉SQL Server开发环境... 2 实验三数据库、表的创建............................................................... ... 6 实验五连接查询和嵌套查询................................................................ 12 实验七数据的插入、修改、删除.................................................... 18 实验九SQL Server数据库的安全性控制........................................ 21 实验十一熟悉Power Designer数据库设计软件................................ 24 实验十三Transact-SQL编

程................................................................ 27 实验十五存储过程的使用............................................................... ..... 30 第十章数据库的恢复技术作业............................................................ 33 《数据库原理与应用》实验报告实验一利用ACCESS创建数据库及熟悉SQL Server 开发环境一、实验目的1、熟知机房用机安全规则和实验报告的书写。2、掌握SQL Server 2005的安装,卸载以及相关服务的启动、退出。3、熟悉SQL Server Management Studio环境。4、掌握创建服务器组合注册服务器。5、初步了解数据库的概念; 6、初步了解SQL Server联机丛书的使用。 7、用ACCESS创建数据库,体会数据库的功能。注意:每次实验的指导视频,上课所需要的软件、数据库还有ppt。都可以在ftp://的“数据决策”->“数据库”->“2011-2012”文件夹下找到,以后每次实验相关的文件和数据

数据库实验报告资料

《数据库系统概论》 实验报告 学院:数学与计算机科学/软件学院专业:软件工程(3) 小组成员: 姓名:学号: 姓名:学号: 姓名:学号:

题目:《SQL语言参考大全》实验4 姓名:陈建儿学号:221200305 日期:2014年4月25号 实验目的:学会创建数据库,以及对表的插入,删除,修改等操作。实验内容完成情况: 04.01题目:create database mrgwh--使用create database 命令创建一个名称是“mrgwh”的数据库 执行结果: 04.05题目:alter database db_mrsql add filegroup happy 执行结果: 04.13题目:use db_mrsql --使用db_mrsql数据库 create table teacher --创建“teacher”信息表 (教师编号int, 教师姓名varchar(10), 教师年龄int, 所教课程varchar(30) )

04.14题目:use db_mrsql create table shopping ( 商品编号int primary key, --使用primary key将“商品编号”字段设置为主键列 商品类别varchar(10), 商品数量int, 商品备注text ) 执行结果: 04.15:use db_mrsql --使用db_mrsql数据库 create table pupil --创建tb_pupil04数据表 ( 学生学号varchar(8), 学生姓名varchar(10) unique,--定义了具有唯一值(unique)的“学生姓名”列 --创建一个检验约束(check)检验“学生年龄”列的值是否在8到15之间 学生年龄int check(学生年龄>=8 and 学生年龄<=15), 学生性别int, 备注text ) 执行结果: 04.16题目:use db_mrsql --使用db_mrsql数据库

sql数据库实验报告

数据库设计与管理 实验报告 班级:120506 学号:XXXXXXXX 姓名:XXX

实验一 一、实验目的 1.了解SQL Server 2000中数据库的组成; 2.熟练创建、管理数据库和事务日志。 3.熟练掌握创建、修改和删除表的方法; 4.掌握向表中添加记录、修改记录及删除记录的方法; 二、实验内容 1.在D盘或E盘建立以学生名命名的文件夹,如图1所示。 在E盘建立文件夹 2.分别使用企业管理器、CREATE DATABASE命令两种方法创建数据库和事务日志。要求如下: 数据库名字为S ale;数据文件初始大小为3MB,最大为10MB,文件增量为1MB;事务日志初始大小为2MB,最大为15MB,文件增量为1MB。 用企业管理器创建数据库创建数据文件 创建事务日志

CREATE DA TABASE创建数据库和事务日志 3.向Sale中添加数据文件、日志文件(要求与上同);CREATE DATABASE Sale 添加数据文件添加日志文件 4.向Sale中添加新文件组,向新文件组中添加一个数据文件(要求与上同);

向Sale中添加新文件组向文件组中添加数据文件5.删除后添加的数据文件、日志文件及文件组; 删除添加的数据文件删除添加的日志文件

删除文件组 6.分别使用企业管理器及CREATE TABLE 在S ale数据库中创建如下表: 客户表(Customer) 产品表(P roduct) 入库表(ProIn)销售表(ProOut) 7.在企业管理器中给Customer、P roduct、ProOut表中输入记录,并练习记录的修改及删除

数据库原理与应用综合实验报告

物电学院综合性实验 实验报告 课程名称数据库原理与应用 实验学期2015学年第2 学期 学生所在院部物理与电子科学学院 年级2013级专业班级xxxxxx 班 学生姓名xxx学号xxxxxxxxxx 任课教师xxxxxxx 实验成绩 试验时间:2015年6月 《数据库原理与应用D》课程综合性实验报告 开课实验室:学校机房2015 年6月10日 【一】实验目的 (1 培养学生数据库分析和设计能力; (2 培养学生软件结构和功能模块分析能力; (3 培养提高学生自学能力和独立进行软件开发能力;

(4 培养学生的创新意识和协作精神; (5 培养学生文字论述规范、清晰、严谨的能力。 【二】设备与环境 硬件:多媒体计算机 软件:Windows2003操作系统,SQL Server2008 数据库管理系统,应用程序开发环境T omcat6.0,EditPlus,JSP 【三】实验内容 教室管理信息系统 一、系统概述 教室管理信息化是学校教务系统应用信息技术及其产品的过程,是信息技术应用于教室管理的过程。教育信息化的实施,自上而下而言,必须与学校的制度创新、组织创新和管理创新结合;自下而上而言,必须以作为学校主体的工作人员使用信息技术水平的逐步提高为基础。 学校信息系统是现存信息系统中较为复杂的一类,这是由学校本身的目标、任务和性质决定的;它应用于学校的学生管理、教师管理、教室管理以及招生就业管理等各个方面,牵涉的信息种类十分庞杂。它融合了学校的管理思想和各职能部门的工作经验,是学校当前运作方式和业务流程的具体体现,同时又在一定程度上反作用于学校当前的运作方式和业务流程。而教室管理信息系统正是这样庞大的系统中的一个系统。教室之于教师、学生、教学,都有极其重要的作用。 因此,学校信息化建设工作具有长期性、复杂性和内容的多变性;正因为如此,教室管理信息系统也不是一个简单的、封闭的、静止的系统,而是一个复杂的、开放的、在应用的深度和广度上,随着时间的推移会逐步变化和发展的系统。

《数据库技术与应用》实验报告

《数据库技术与应用》上机实验报告 目录: 一、概述 二、主要上机实验内容 1.数据库的创建 2.表的创建 3.查询的创建 4.窗体的创建 5.报表的创建 6.宏的创建 三、总结 一、概述 (一)上机内容: 第七周:熟悉Access界面,数据库和表的创建,维护与操作 1. 熟悉Access的启动,推出,界面,菜单,工具栏等; 2. 练习使用向导创建数据库、创建空数据库; 3. 练习创建表结构的三种方法(向导、表设计器、数据表)、表中字段属性设置; 4. 练习向表中输入不同类型的数据; 5. 练习创建和编辑表之间的关系; 6. 练习表的维护(表结构、表内容、表外观) 7. 练习表的操作(查找、替换、排序、筛选等) 第八周:练习创建各种查询 1.选择查询(单表、多表、各种查询表达式) 2.参数查询 3.交叉表查询 4.操作查询(生成查询、删除查询、更新查询、追加查询) 第十周:练习创建各种类型的窗体 1.自动创建纵栏式窗体和表格式窗体; 2.向导创建主|子窗体

3.图表窗体的创建 4.练习通过设计器创建窗体 5.练习美化窗体 第十三周:练习创建各种类型的报表 1.自动创建纵栏式报表和表格式报表; 2.向导创建报表(多表报表、图表报表、标签报表) 3.练习通过设计视图创建报表(主|子报表、自定义报表) 4.练习在报表中添加计算字段和分组汇总数据 第十五周:综合应用 1.了解Access数据库系统开发的一般方法; 2.课程内容的综合练习; 3.编写上机实验报告、答疑 (二)上机完成情况 第七周:熟悉Access界面,数据库和表的创建,维护与操作 完成了创建表,向表中输入不同类型的数据,创建和编辑表之间的关系,进行了表的维护,修改了表的结构、内容、外观,最后进行了表的操作,查找、替换、排序、筛选等。 已完成 第八周:练习创建各种查询 练习选择查询、参数查询、交叉表查询,然后练习并操作查询,生成查询、删除查询、更新查询、追加查询等。 已完成 第十周:练习创建各种类型的窗体 自动创建纵栏式窗体和表格式窗体,向导创建主|子窗体和图表窗体,练习通过设计器创建窗体,美化窗体。 基本完成 第十三周:练习创建各种类型的报表 自动创建纵栏式报表和表格式报表,向导创建报表,练习通过设计视图创建报表,在报表中添加计算字段和分组汇总数据。 已完成 第十五周:综合应用

数据库管理实验报告

大理大学 实验报告 课程名称:医学数据库管理技术 学院:工程学院 专业:生物医学工程 年级: 2013 班级: 1 姓名:王绍帆学号: 2013166132 指导教师:赵春文 2015年12月20 日 大理大学教务处制

实验报告要求 实验报告内容原则上应包括以下几个内容: 1.实验课程名称 2.实验项目名称 3.实验目的和要求 4.主要仪器设备 5.实验原理和内容 6.主要的操作方法与实验步骤 7.实验数据记录和处理 8.实验结果与分析 9.思考题 注:不同类型的实验课程对实验报告可有不同的要求,各个学科的实验报告可以根据自己的学科特点对以上内容作适当调整。

INSERT INTO SPJ(SNO,PNO,JNO,QTY) VALUES('S1','P1','J4','700'); INSERT INTO SPJ(SNO,PNO,JNO,QTY) VALUES('S1','P2','J2','100'); INSERT INTO SPJ(SNO,PNO,JNO,QTY) VALUES('S2','P3','J1','400'); INSERT INTO SPJ(SNO,PNO,JNO,QTY) VALUES('S2','P3','J2','200'); INSERT INTO SPJ(SNO,PNO,JNO,QTY) VALUES('S2','P3','J4','500'); INSERT INTO SPJ(SNO,PNO,JNO,QTY) VALUES('S2','P3','J5','400'); INSERT INTO SPJ(SNO,PNO,JNO,QTY) VALUES('S2','P5','J1','400'); INSERT INTO SPJ(SNO,PNO,JNO,QTY) VALUES('S2','P15','J2','100'); INSERT INTO SPJ(SNO,PNO,JNO,QTY) VALUES('S3','P1','J1','200'); INSERT INTO SPJ(SNO,PNO,JNO,QTY) VALUES('S3','P3','J1','200'); INSERT INTO SPJ(SNO,PNO,JNO,QTY) VALUES('S4','P5','J1','100'); INSERT INTO SPJ(SNO,PNO,JNO,QTY) VALUES('S4','P6','J3','300'); INSERT INTO SPJ(SNO,PNO,JNO,QTY) VALUES('S4','P6','J4','200'); INSERT INTO SPJ(SNO,PNO,JNO,QTY) VALUES('S5','P2','J4','100'); INSERT INTO SPJ(SNO,PNO,JNO,QTY) VALUES('S5','P3','J1','200'); INSERT INTO SPJ(SNO,PNO,JNO,QTY) VALUES('S5','P6','J2','200'); INSERT INTO SPJ(SNO,PNO,JNO,QTY) VALUES('S5','P6','J4','500'); 2.显示建立好的表 (1)查询命令: SELECT* FROM S; 查询结果: (2)查询命令: SELECT* FROM P; 查询结果: (3)查询命令: SELECT* FROM J; 查询结果:

相关主题
文本预览
相关文档 最新文档