文档库 最新最全的文档下载
当前位置:文档库 › 实验三 创建数据库和数据表 实验报告

实验三 创建数据库和数据表 实验报告

实验三 创建数据库和数据表 实验报告
实验三 创建数据库和数据表 实验报告

实验三

1、建立数据库university

2、建表:

1)Student:

USE [university]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[student](

[snum] [nchar](6)COLLATE Chinese_PRC_CI_AS NOT NULL,

[sname] [nchar](10)COLLATE Chinese_PRC_CI_AS NULL,

[sex] [nchar](2)COLLATE Chinese_PRC_CI_AS NULL,

[dept] [nchar](20)COLLATE Chinese_PRC_CI_AS NULL,

[birthday] [datetime] NULL,

[telephone] [nchar](12)COLLATE Chinese_PRC_CI_AS NULL, CONSTRAINT [PK_student] PRIMARY KEY CLUSTERED

(

[snum] ASC

)WITH(PAD_INDEX =OFF, IGNORE_DUP_KEY =OFF)ON [PRIMARY]

)ON [PRIMARY]

GO

ALTER TABLE [dbo].[student] WITH CHECK ADD CONSTRAINT [CK_sex] CHECK (([sex]='女'OR [sex]='男'))

GO

ALTER TABLE [dbo].[student] CHECK CONSTRAINT [CK_sex]

GO

ALTER TABLE [dbo].[student] WITH CHECK ADD CONSTRAINT [CK_snum] CHECK ((substring([snum],(1),(1))='S'))

GO

ALTER TABLE [dbo].[student] CHECK CONSTRAINT [CK_snum]

GO

ALTER TABLE [dbo].[student] WITH CHECK ADD CONSTRAINT [CK_tel] CHECK ((isnumeric(substring([telephone],(1),(3)))=(1)AND

isnumeric(substring([telephone],(5),(8)))=(1)))

GO

ALTER TABLE [dbo].[student] CHECK CONSTRAINT [CK_tel]

视图:

2)Course:

USE [university]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[course](

[cnum] [nchar](6)COLLATE Chinese_PRC_CI_AS NOT NULL,

[cname] [nchar](20)COLLATE Chinese_PRC_CI_AS NULL,

[credits] [smallint] NULL,

[descr] [nchar](10)COLLATE Chinese_PRC_CI_AS NULL,

[dept] [nchar](20)COLLATE Chinese_PRC_CI_AS NULL,

[textbook] [nchar](40)COLLATE Chinese_PRC_CI_AS NULL,

CONSTRAINT [PK_course] PRIMARY KEY CLUSTERED

(

[cnum] ASC

)WITH(PAD_INDEX =OFF, IGNORE_DUP_KEY =OFF)ON [PRIMARY]

)ON [PRIMARY]

GO

ALTER TABLE[dbo].[course] WITH CHECK ADD CONSTRAINT[FK_course_course] FOREIGN KEY([cnum])

REFERENCES [dbo].[course] ([cnum])

GO

ALTER TABLE [dbo].[course] CHECK CONSTRAINT [FK_course_course]

GO

ALTER TABLE[dbo].[course] WITH CHECK ADD CONSTRAINT[CK_course] CHECK ((substring([cnum],(1),(1))='c'))

GO

ALTER TABLE [dbo].[course] CHECK CONSTRAINT [CK_course]

GO

ALTER TABLE [dbo].[course] WITH CHECK ADD CONSTRAINT [CK_course_1]

CHECK(([credits]>(0)AND [credits]<(8)))

GO

ALTER TABLE [dbo].[course] CHECK CONSTRAINT [CK_course_1]

3)Sc:

USE [university]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[sc](

[snum] [nchar](6)COLLATE Chinese_PRC_CI_AS NOT NULL,

[secnum] [nchar](8)COLLATE Chinese_PRC_CI_AS NOT NULL,

[score] [int] NULL,

CONSTRAINT [PK_sc] PRIMARY KEY CLUSTERED

(

[snum] ASC,

[secnum] ASC

)WITH(PAD_INDEX =OFF, IGNORE_DUP_KEY =OFF)ON [PRIMARY]

)ON [PRIMARY]

GO

ALTER TABLE [dbo].[sc] WITH CHECK ADD CONSTRAINT [FK_sc_section] FOREIGN KEY([secnum])

REFERENCES [dbo].[section] ([secnum])

GO

ALTER TABLE [dbo].[sc] CHECK CONSTRAINT [FK_sc_section]

GO

ALTER TABLE [dbo].[sc] WITH CHECK ADD CONSTRAINT [FK_sc_student] FOREIGN KEY([snum])

REFERENCES [dbo].[student] ([snum])

GO

ALTER TABLE [dbo].[sc] CHECK CONSTRAINT [FK_sc_student]

GO

ALTER TABLE[dbo].[sc] WITH CHECK ADD CONSTRAINT[CK_Table_score] CHECK

(([score]>=(0)AND [score]<=(100)))

GO

ALTER TABLE [dbo].[sc] CHECK CONSTRAINT [CK_Table_score]

4)Section:

USE [university]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[section](

[secnum] [nchar](8)COLLATE Chinese_PRC_CI_AS NOT NULL, [cnum] [nchar](6)COLLATE Chinese_PRC_CI_AS NULL,

[pnum] [nchar](6)COLLATE Chinese_PRC_CI_AS NULL, CONSTRAINT [PK_section] PRIMARY KEY CLUSTERED

(

[secnum] ASC

)WITH(PAD_INDEX =OFF, IGNORE_DUP_KEY =OFF)ON [PRIMARY]

)ON [PRIMARY]

GO

ALTER TABLE [dbo].[section] WITH CHECK ADD CONSTRAINT

[FK_section_course] FOREIGN KEY([cnum])

REFERENCES [dbo].[course] ([cnum])

GO

ALTER TABLE [dbo].[section] CHECK CONSTRAINT [FK_section_course]

GO

ALTER TABLE[dbo].[section] WITH CHECK ADD CONSTRAINT[CK_secnum] CHECK ((isnumeric([secnum])=(1)AND len([secnum])=(5)))

GO

ALTER TABLE [dbo].[section] CHECK CONSTRAINT [CK_secnum]

GO

ALTER TABLE[dbo].[section] WITH CHECK ADD CONSTRAINT[CK_Table_pnum] CHECK((substring([pnum],(1),(1))='p'))

GO

ALTER TABLE [dbo].[section] CHECK CONSTRAINT [CK_Table_pnum]

实验四

select sname From student,sc

where student.snum=sc.snum and score<60

select Distinct sname,datediff(year, birthday,getdate())as年龄

From student,sc,section,course

where student.snum=sc.snum and sc.secnum=section.secnum and

https://www.wendangku.net/doc/fc6069194.html,um=https://www.wendangku.net/doc/fc6069194.html,um

and course.dept='计算机系'

select Distinct sname,student.dept

From student,sc,section,course

where student.snum=sc.snum and sc.secnum=section.secnum and https://www.wendangku.net/doc/fc6069194.html,um=https://www.wendangku.net/doc/fc6069194.html,um

and cname='数据库技术'

select Distinct sname as选所有课学生

From student,sc,section,course

where student.snum=sc.snum and sc.secnum=section.secnum and https://www.wendangku.net/doc/fc6069194.html,um=https://www.wendangku.net/doc/fc6069194.html,um

group by sname Having count(https://www.wendangku.net/doc/fc6069194.html,um)=6

select sname as优秀学生

From student,sc

where student.snum=sc.snum

group by sname Having min(score)>=80

select sname as获奖学金学生

From student,sc

where student.snum=sc.snum

group by sname Having min(score)>=80 and avg(score)>=90

select sname,score

From student,sc,section,course

where student.snum=sc.snum and sc.secnum=section.secnum and https://www.wendangku.net/doc/fc6069194.html,um=https://www.wendangku.net/doc/fc6069194.html,um

and cname='大学英语'

order by score desc

select https://www.wendangku.net/doc/fc6069194.html,um as课程号,count(snum)as人数

From sc,section,course

where sc.secnum=section.secnum and https://www.wendangku.net/doc/fc6069194.html,um=https://www.wendangku.net/doc/fc6069194.html,um group by https://www.wendangku.net/doc/fc6069194.html,um

select Distinct sname, student.dept

From student,sc,section,course

where student.snum=sc.snum and sc.secnum=section.secnum and https://www.wendangku.net/doc/fc6069194.html,um=https://www.wendangku.net/doc/fc6069194.html,um

and https://www.wendangku.net/doc/fc6069194.html,ame='数据库技术'

and sname not in(

select sname

From student,sc,section,course

where student.snum=sc.snum and sc.secnum=section.secnum and https://www.wendangku.net/doc/fc6069194.html,um=https://www.wendangku.net/doc/fc6069194.html,um and https://www.wendangku.net/doc/fc6069194.html,ame='高等数学')

select cname

from course

where textbook like'%高等教育出版社%'

select cname,max(score)as最高分,min(score)as最低分,avg(score)as平均分

From sc,section,course

where sc.secnum=section.secnum and https://www.wendangku.net/doc/fc6069194.html,um=https://www.wendangku.net/doc/fc6069194.html,um

group by cname

select cname,count(snum)as人数,SUM(CASE WHEN SCORE<60 THEN1 ELSE0 END) AS不及格人数

From sc,section,course

where sc.secnum=section.secnum and https://www.wendangku.net/doc/fc6069194.html,um=https://www.wendangku.net/doc/fc6069194.html,um

group by cname

查询结果:1~6:第7题

8~12题:

数据库和数据结构实验报告

. 西华大学实验报告(计算机类) 开课学院及实验室:实验时间:年月日 一、实验目的 通过练习让学生对数据库、数据库和表的关系、数据词典、参照完整性和视图有较好的理解和掌握。 二、内容与设计思想 实验内容: 1.数据库设计器 2.数据库的创建 3.设定数据词典 4.参照完整性的设置 5.视图的创建和修改 三、使用环境 Windos XP操作系统;Visual ProFox 6.0 四、核心代码及调试过程 例3-27创建项目管理器SBGL,要求添入数据库sbsj,并查看该数据库。 图一 图二、“项目管理器”的数据选项卡 图三、“项目管理器”中的数据库与数据库表 例3-28从sbsj数据库所属的sb和zz两个表中抽取编号、名称和增值3个字段。,组成名称 为“我的视图”的SQL视图。 open database sbsj create sql view 我的视图; as select sb.编号,sb.名称,zz.增值from sb,zz where sb.编号=zz.编号

如有你有帮助,请购买下载,谢谢! 例3-29根据例3-28的查询要求,用视图设计器建立视图1,然后修改其中车床的增值来更新zz表原来的增值 图一、视图设计器-视图1 图二、视图设计器-视图1 图三、增值表 图四 图五、视图设计器更新源表数据 19.根据图3.30所示数据库sbsj的永久关系,若利用参照完整性生成器来删除sb。dbf的第一个记录,对其他3个表会否产生影响,是分级、限制和忽略3中情况来说明。 图一、数据库设计器 图二、sbsj.dbc“永久关系的参照完整性生成器” 级联:相关子表中的记录将自动删除 限制:子表有相关记录,在父表中删除记录就会产生“触发器失败”的提示信息 忽略:父表删除记录,与子表记录无关 五、总结 (自己写一些收获和体会) 通过这次上机练习让我学会了怎样在数据库中添加项目管理器、表的数据完整性的概念以及视图的各种操作,让我更容易的掌握理论知识的难点和一些基本命令的使用方法,以及一些平时在课堂上不注意的问题。在上机练习的过程中需要对每个细节都要留心,认真做好每一步这样才不至于出错,这就加强了平时不注意的问题得到回应,从而加深了细节问题的处理方式。在上机的学习之后更加了解了数据库表及其数据完整性是vfp重要的一个对象,命令熟练操作直接关系到数据库的成败。 第三次的上机操作,我了解了命令的使用方式对于建立数据库表及其数据完整性很重要,要学好各种命令以及数据库表及其数据完整性的使用方法,还需在多做习题加强学习。 六、附录

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

《数据库系统概论》实验报告 题目:实验三数据控制(安全性) 班级姓名学号日期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);

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表添加数据

数据库实验第三次

南昌航空大学实验报告 2016 年月日 课程名称:数据库原理及应用实验名称:SQL-更新操作 学号:姓名:同组人: 指导教师评定:签名: 实验目的: 利用INSERT、UPDA TE和DELETE命令(或语句)实现对表(或试图)数据的添加、修改与删除等更新操作,这里主要介绍对表的操作。 实验内如与要求: 建表和数据库的代码: Create database jxgl USE jxgl GO 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), foreign 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);

数据库上机实验报告

数据库实验 (第三次) 题目1 实验内容: 1. 检索上海产的零件的工程名称; 2. 检索供应工程J1零件P1的供应商号SNO; 3. 检索供应工程J1零件为红色的供应商号SNO; 4. 检索没有使用天津生产的红色零件的工程号JNO; 5. 检索至少用了供应商S1所供应的全部零件的工程号JNO; 6. 检索购买了零件P1的工程项目号JNO及数量QTY,并要求对查询的结果按数 量QTY降序排列。

1 select jname from j where jno in (select jno from spj where sno in (select sno from s where city ='上海' ) ); 2 select sno from spj where jno ='j1'and pno ='p1' 3

selectdistinct sno from spj where pno in (select pno from p where color='红'and pno in (select pno from spj where jno ='j1' ) ); 4 selectdistinct jno from spj where pno notin (select pno from p where color ='红'and pno in (select pno from spj where sno in (select sno from s where city ='天津' ) ) )

5 select jno from spj where sno ='s1' 6 select jno,qty from spj where pno ='p1' orderby qty desc 四﹑思考题 1.如何提高数据查询和连接速度。 建立视图 2. 试比较连接查询和嵌套查询 有些嵌套查询是可以用连接来代替的,而且使用连接的方式,性能要比 嵌套查询高出很多 当查询涉及多个关系时,用嵌套查询逐步求解结构层次清楚,易于构造,具有结构化程序设计的优点。但是相比于连接运算,目前商用关系数据库管理系统对嵌套查询的优化做的还不够完善,所以在实际应用中,能够用连接运算表达的查询尽可能采用连接运算。

数据库原理实验报告(3)实验三数据表的创建与管理实验

数据库原理实验报告(3)实验三数据表的创建与 管理实验 南京晓庄学院 《数据库原理与应用》 课程实验报告 实验三数据表的创建与管理实验 所在院(系): 数学与信息技术学院班级: 学号: 姓名: 1.实验目的 (1) 理解SQL Server 20xx常用数据类型和表结构的设计方法。理解主键、外键含义,掌握 建立各表相关属性间参照关系的方法。 (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”数据库中补充设计以下各表结构:

数据库系统设计实验报告

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

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

数据库实验报告完整

华北电力大学 实验报告 | | 实验名称数据库实验 课程名称数据库 | | 专业班级:学生姓名: 学号:成绩: 指导教师:实验日期: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.完成用户界面的设计,对重要数据进行加密。

数据库道理实验报告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)设计并实现各表之间相关属性的参照关系。 (3)使用SQL Management Studio图形界面或Transact-SQL在“TM”数据库中创建前述各 表,并插入部分数据,要求所插入数据合理有效。 3.实验步骤、结果和总结实验步骤/结果

华南农业大学大数据库系统概念实验报告材料五

实用文档 《数据库系统》实验报告五

实用文档 salary表中表具有查询权限,A.course对A.instructor对设置同学同学2. AB 使用命令检查授权是否成功。B字段具有更新权限;同学grant select on course to cs113; 实用文档

表具有插入数据、删除数据的权限,同对B. instructorB3. 同学授权同学A 用命令试验能否完成相应操作。学Aselect * from cs113.instructor; insert into cs113.instructor values(21313,'JDY','Comp. Sci.',745363); select * from cs113.instructor; cs113.instructor where salary = 92000; delete from select * from cs113.instructor; 实用文档

表具有增、删、改、查的权限,并允许他对B. studentB5. 同学授权同学A并试验能否将权限授予A将权限授权给其它同学。同学验证授权是否成功,。C其它同学(例如同学) 实用文档select * from cs113.student; insert into cs113.student values(13221,'KJDFH','Comp. Sci.',123); update cs113.student set tot_cred = 456 where ID = 13221; select * from cs113.student; delete from cs113.student where ID = 13221; select * from cs113.student;

数据库实验报告

数据库实验报告

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

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 不存在或访问被拒绝 原因:未启动数据库服务 二、实验结果及分析(包括结果描述、实验现象分 析、影响因素讨论、综合分析和结论等) 实验结果部分截图:

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

实验内容、步骤以及结果 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-->选择修改’ 命令T右击 sname-->选择索引和键命令--> 打开索引和键框图--> 添加--> 是否唯一改为是--> 名称改为us sname '-->关闭。

(4)缺省约束:为性别(ssex)添加默认值,其值为男 设默认约束:单击数据库Student宀单击表宀单击右击sno^选择修改命令宀单击cno-->在默认值栏输入男’保存

D62.s1udent - Diagram_0* D62.sludent - dbo.S* SQLQuery5.sql - D... (D62\A^m i n (52J)* 列容 埶据类型 允祥值 Q 5TI0 Ctiar(lO) n sname nvarchar (20) a 卜:S5SX nchai ■⑵ 團 sbirtti date □ adept nv ar char (20) sPhoneNo ctiar(LQ) @] 数捐类型 允傑Mdl 值 曰表设计器 RowGuid E 标识魁 不用于复制 大小 (5) CHECK 约束:为SC 表的成绩(grade)添加CHECK 约束,约束名为ck grade ,其 检查条件为:成绩应该在0-100之间。 ffin har 妊 2 Nnrh 昙否否否二

数据库实验报告1

1.使用系统存储过程(sp_rename)将视图“V_SPJ”更名为“V_SPJ_三建”。(5分) exec sp_rename v_spj, v_spj_三建; 2.针对SPJ数据库,创建并执行如下的存储过程:(共计35分) (1)创建一个带参数的存储过程—jsearch。该存储过程的作用是:当任意输入一个工 程代号时,将返回供应该工程零件的供应商的名称(SNAME)和零件的名称(PNAME) 以及工程的名称(JNAME)。执行jsearch存储过程,查询“J1”对应的信息。(10 分) create proc jsearch @jno char(2) as select sname, pname, jname from s,p,j,spj where s.sno=spj.sno and p.pno=spj.pno and j.jno=spj.jno and spj.jno=@jno; 执行: exec jsearch 'J1'

(2)使用S表,为其创建一个加密的存储过程—jmsearch。该存储过程的作用是:当执 行该存储过程时,将返回北京供应商的所有信息。(10分) 创建加密存储过程: create proc jmsearch with encryption as select * from s where s.city='北京'; sp_helptext jmsearch; (3)使用系统存储过程sp_helptext查看jsearch, jmsearch的文本信息。(5分) 用系统存储过程sp_helptext查看jsearch: exec sp_help jsearch; exec sp_helptext jsearch;

数据库系统实验报告 触发器

实验4 触发器 1、通过序列和触发器实现借阅表中借阅流水号字段的自动递增。 Create or replace sequence bwnum_id Minvalue 1 Maxvalue 1.0E28 Start with 1 Increment by 1 Cache 20; Create or Replace Trigger tri_bwnum_id Before Insert On borrow For Each Row Begin Select bwnum_id.Nextval Into :new.bwnum From DUAL; End;

2、通过序列和触发器实现预约表中预约流水号字段的自动递增 Create sequence pnum_id Minvalue 1 Maxvalue 1.0E28 Start with 1 Increment by 1 Cache 20; Create or Replace Trigger tri_pnum_id Before Insert On preborrow For Each Row Begin Select pnum_id.Nextval Into :new.pnum From DUAL; End;

3、修改实验三借书功能的存储过程。 该存储过程要求: (1)借书时输入借书证号,图书编号。(即该函数有2个输入参数) (2)借书时,借书日期为系统时间。 *该存储过程主体部分只有insert into语句。 create or replace Procedure p_borrow (P_BNUM IN BORROW.BNUM%TYPE, P_RNUM IN BORROW.RNUM%TYPE) as begin insert into BORROW (BNUM,RNUM,BDATE) values(P_BNUM,P_RNUM,TO_CHAR(SYSDATE(),'YY/MM/DD')); commit; end; 4、建立与借书存储过程相对应的触发器,当借阅表中加入借阅信息时,该触发器触发,自动修改所借图书的是否借出改为‘是’。 Create or Replace Trigger tri_borrow_insert

数据库第三次实验

南昌航空大学实验报告 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中有关用户、角色及操作权限等的管理方法,同时也更加注重数据库安全性方面的问题,我们创建的每一个数据库都应该考虑安全性问题,应该为数据库创建一些必要的角色,同时也要管理数据库的权限方面,防止数据向外流失,或者被黑客盗用。

《数据库系统概论》实验报告

《数据库系统概论》实验报告 题目:实验三存储过程/触发器/ODBC编程 姓名班级学号日期 郭智超10010507 052626 2007-10-14 一. 实验内容和步骤结果 1.在查询分析器中使用系统存储过程(sp_rename)将视图“V_SPJ”更名为“V_SPJ_三建”。(5分) 源程序:create view V_SPJ as select jno,sno from spj where jno='j2' exec sp_rename 'V_SPJ','V_SPJ_三建' 执行结果: 变为 2.存储过程的创建与使用:(45分) (1)使用SPJ数据库中的S表、P表、J表、SPJ表,创建一个带参数的存储过程—jsearch。 该存储过程的作用是:当任意输入一个工程代号时,将返回供应该工程零件的供应商的名称(SNAME)和零件的名称(PNAME)以及工程的名称(JNAME) 源程序:create procedure jsearch @jno char(4) as select sname,pname,jname from spj,s,p,j where j.jno=@jno and spj.jno=j.jno

and spj.sno=s.sno and spj.pno=p.pno (2) 执行jsearch存储过程,查询“J1”对应的JNAME,SNAME和PNAME。 源程序:exec jsearch j1 执行结果: (3)使用系统存储过程sp_helptext查看存储过程jsearch的文本信息。 源程序:sp_helptext jsearch 执行结果: (4)使用SPJ数据库中的S表,为其创建一个加密的存储过程—jmsearch。该存储过程的作用是:当执行该存储过程时,将返回北京供应商的所有信息。 源程序:create procedure jmsearch with encryption as select sno,sname,status,city from s where s.city='北京' (5)执行jmsearch存储过程,查看北京供应商的情况。 源程序:exec jmsearch. 执行结果:

数据库实验报告(一)

滨江学院 题目数据库实验报告(一) 学生姓名 学号 系部电子工程系 专业通信工程 指导教师林美华 二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”“企业管理器”.

数据库系统实验报告

竭诚为您提供优质文档/双击可除数据库系统实验报告 篇一:数据库应用系统设计报告 数据库应用系统设计报告 工资管理系统 专业:计算机科学与技术 班级:08级计算机x班 组员:xxx 指导老师:xxx 一.简介 1.1开发小组人员组成: 组长:xxxx。 各自担负任务 整体设计: 资料搜索: 数据库的设计: 建立数据库: 数据库分析:

需求分析撰写: 设计报告撰写: Java设计: Java代码及界面实现: 1.2运行环境: 开发环境:sQLservermanagementstudio与myeclipseforspring8.6 操作系统:windows20XX 1.3开发意图: 为了检验数据库课程学习情况,我们模拟设计了一份给某公司的工资管理系统。如下:管理信息系统(mIs)不仅是一个技术系统,而且也是一个社会系统。这从另一个方面可看出,任何企事业单位的管理信息系统都是基于自己单位的实际情况而建立,即使是同行企业建立的相同系统都会由于企业的实际情况而有所不同。 工资管理是任何企事业单位都面临的问题,由于各个公司的工资处理方式总是有所区别,因此目前还没有一个通用的工资管理系统,只能针对公司情况去开发适合本公司需求的工资管理系统。早期的工资管理是人工化的,工作量大时,出现错误的机率也会随之升高,这会导致会计人员花费更多的时间去改正错误,延误工资发放的时间,或出现工资发放错误的现象。而企业工资管理系统就是使用电脑代替大量的

人工统计和计算,完成企业工资信息的处理,而且还可以用电脑安全完整地保存企业工资记录。 系统初步调查的内容主要是了解公司组织的整体信息,包括员工信息和员工工资信息。通过对系统特点进行调查和分析,可以得到本系统的关键部分如下: (1)员工职务工资的设定,是工资管理系统的基础,可以实现工资的基本管理。这样可 以减少出错,提高效率。 (2)其他工资的设置,是对员工基本工资的补充。 (3)系统应该可以输出工资报表,可以通过报表侧面反映员工工作的好坏。 (4)系统还应包括员工基本信息的录入、修改和删除。 (5)系统还应该提供强大的数据统计、查询功能。 (6)系统应有比较好的可操作性、稳定性和可扩展性。 1.4完成状况 由于时间关系等原因,本小组实验结果部分完成(数据库设计部分已完成,系统功能模块也已完成,仅仅是未联机测试)。 二.相关资料 2.1需求文档: 需求文档请见同一目录下的《需求分析书》 2.2参考资料:

数据库实验报告(实验一)

沈阳工程学院 学生实验报告 (课程名称:数据库原理及应用) 实验题目:数据库模式设计 班级软件本111学号2011417104姓名吴月芬 日期2012.10.16 地点F座606 指导教师孙宪丽祝世东

一、实验目的 熟练掌握采用SQL命令建立数据库表、索引和视图的方法。 二、实验环境 Oracle10g数据库系统。 三、实验内容与要求 (一)实验内容 1.建立学生数据库模式 学生表:student (sno学号,sname姓名,ssex性别,sage年龄,sdept所在系) 其中: sno 长度为4的字符串,为主码; sname 长度为8的字符串; ssex 长度为2的字符串,其值只取男、女; sage 短整数,其值在0-150之间; sdept 长度为10的字符串。 2.建立课程数据库模式 课程表:course ( cno课程号,cname课程名,ccredit学分) 其中: cno 长度为4的字符串,为主码 cname 长度为10的字符串,不能为空,且不能有重复课程名; ccredit 短整数。 3.建立选课数据库模式。 选课表:sc (sno学号,cno课程号,grade成绩) 其中: sno 长度为4的字符串,和student表sno外键关联,且级联删除 cno 长度为4的字符串,course表cno外键关联,

grade 短整数,值或空或为0—100之间, (sno,cno) 联合作主码。 (二)实验要求 在Oracle10g的iSQLPlus中完成下列操作: (1)创建上述三个表。 (2)向Student 表增加"入学时间"列(列名为Scome,日期型)。 (3)将年龄的数据类型改为半字长整数。 (4)为Student中sname添加列级完整性约束,不能为空。 (5)删除Student中sname列级完整性约束。 (6)为SC建立按学号升序和课程号降序建立唯一索引. (7)在表student的sname字段建立一个升序索引。 (8)删除在表student的sname字段建立的索引。 (9)给student表增加一个地址(address)属性。 (10)给student表删除地址(address)属性。 (11)建立视图view1,要求有sno,sname,cname,grade四个字段。 (12)建立视图view2,要求有sno,ssex,sage三个字段。 四、实验过程及结果分析 (1)1)创建学生数据库模式,代码如下: create table student ( sno char(11) primary key, sname char(8), ssex char(2) check ssex in (‘男’,’女’), sage number check between 0 and 150, sdept char(10) );

相关文档