《数据库系统原理》实验报告
实验名称:视图和游标操作实验任课教师:霍纬纲
学号: 120341110 姓名:黄帅完成日期:
3.1SQL的视图功能
一、实验目的:
1.理解视图的作用,能够根据实际需求有SQL创建视图。
2.对基本表按需定义视图,并理解可以通过试图实现对基本表的操作。
二、实验步骤:
1.进入ORACLE的SQL*PLUS环境,输入:用户名:system 口令:manager
2.用Create view语句定义视图
1)建立信息系学生的视图,然后向其中插入一计算机系学生数据,分别查看视图和基本表。create view IS_pc
as
select sno,sname,ssex,sage,sdept
from s
where sdept='pc';
insert into IS_pc values('014','攻城狮','男','22','ac');
2)建立信息系学生的视图,并要求进行修改和插入操作时仍需保证该试图只有信息系的学生(creative view带有with check option),然后向其中插入一计算机系学生数据,比较1)2)的不同;
c reate view IS_ac
As
select sno,sname,ssex,sage,sdept
from s
where sdept='ac'
with check option;
insert into IS_ac values('014','程序媛','女','21','pc');
3)建立信息系选修了1号课程且成绩在90分以上的学生的视图;
create view IS_S1(sno,sname,grade) as
select s.sno,sname,grade
from s,sc
where sdept='IS'
and s.sno=sc.sno
and https://www.wendangku.net/doc/ef6975593.html,o='1';
create view IS_S2
as
select sno,sname,grade
from IS_S1
where grade>=90; select * from IS_S2;
4)将学生的学号及他的平均成绩定义为一个视图S-G;
create view S_G(sno,Gavg)
as
select sno,AVG(grade)
from sc
group by sno;
select * from S_G;
5)将SC中成绩在相应课程平均成绩之上的元组定义成一个视图GOOD-SC。
create view C_G(cno,Gavg)
as
select cno,AVG(grade)
from sc
group by cno;
create view GOOD_SC
as
select sno,https://www.wendangku.net/doc/ef6975593.html,o,grade
from sc,C_G
where grade>Gavg;
select * from C_G;
select distinct * from GOOD_SC;
3.通过视图对基本表进行操作
1)在信息系学生的视图中找出年龄小于20岁的学生;
select sage
from IS_pc
where sage<20;
2)查询信息系选修了1号课程且成绩在90分以上的学生;
select grade
from IS_S1
where grade>=90;
3)在s-G视图中查询平均成绩在90分以上的学生学号和平均成绩;
select Gavg,sno
from S_G
where gavg>=90
4)创建CS-KC视图,包括计算机专业各学生的学号、其选修课号及成绩;要保证对该视图的修改都要符合专业名为“计算机”这个条件;
create view CS1_KC
as
select s.sno,https://www.wendangku.net/doc/ef6975593.html,o,grade
from sc,s
where sdept='pc'
and s.sno=sc.sno
group by s.sno,https://www.wendangku.net/doc/ef6975593.html,o,grade
5)查找计算机专业的学生学号和选修的课程号;
Select s.sno,https://www.wendangku.net/doc/ef6975593.html,o
From s,sc
Where s.sdept=’pc’
And s.sno=sc.sno;
6)向S-G视图中插入一元组。
insert into S_G values('015','99');
3.2游标操作
一、实验目的:
1.通过ORACLE环境下的游标操作,理解SQL的游标概念;
2.综合运用SQL的DML命令,通过游标操作数据库。
二、实验步骤:
用简单的循环控制从EMP表中取出某一部门的员工姓名和工资,存入TEMP表中Declare
V_deptno emp.deptno % type:=&p_deptno;
V_ename emp.ename % type;
V_sal emp.sal % type;
Cursor emp_cursor is select ename,sal from emp
Where deptno =v_deptno;
Begin
Open emp_cursor;
Loop
Fetch emp_cursor into v_name,v_sal;
Exit when emp_cursor % notfound;
Insert into temp(ename,sal) values(v_ename,v_sal);
End loop;
Close emp_cursor;
Commit;
End;
*Action:
原值:Declare
v_deptno emp.deptno%type:=&p_deptno;
v_ename emp.ename%type;
v_sal emp.sal%type;
cursor emp_cursor is select ename,sal from emp where dptno_v_deptno;
BEGIN
OPEN emp_cursor;
loop
FETCH emp_cursor into v_ename,v_sal;
exit when emp_cursor%notfound;
insert into temp(ename,sal) values(v_ename,v_sal);
end loop;
close emp_cursor;
commit;
end;
新值:Declare
v_deptno emp.deptno%type:=4;
v_ename emp.ename%type;
cursor emp_cursor is select ename,sal from emp where dptno_v_deptno;
BEGIN
OPEN emp_cursor;
loop
FETCH emp_cursor into v_ename,v_sal;
exit when emp_cursor%notfound;
insert into temp(ename,sal) values(v_ename,v_sal);
end loop;
close emp_cursor;
commit;
end;
游标的for循环
用游标的for循环,可以简化游标的操作步骤。使用游标的for循环,系统隐式地定义了一个游标名为%POWTYPE类型的记录变量,
游标的FOR循环自动地完成下列三步:打开游标;取数据;关闭游标。
Declare
V_deptno emp.deptno % type:=&p_deptno;
Cursor emp_cursor is select ename,sal from emp
Where deptno=v_deptno;
Begin
For emp_record in emp_cursor loop
Insert into temp (ename,sal) values(emp_record.ename,emp_record.sal);
End loop;
Commit;
End;
游标的FOR循环内使用查询
在游标的for循环中可以定义一个查询,用词查询替代在说明部分中的查询定义,所以不必事先定义游标。因为没有显示的定义游标,所以游标没有名字。
记录名是在定义游标查询时定义的。
Set serveroutput on
DECLARE
V_total_salary number;
BEGIN
For rec_deptin(select deptno,dname,from dept ORDER by deptno)LOOP
DEMS_OUTPUT.PUT_LINE(‘department:’||rec_dept.deptno||)
2通过游标操纵数据库当通过游标更新,删除多条记录的时候,游标的查询语句中必须包含for update of 否则返回错误,必须先加
锁,然后才能进行更新删除操作
查询emp表某部门的雇员情况,如果某雇员的工资小于800,则将其工资改成800 Declare
v_deptno emp.deptno%type:=&p_deptno;
v_empno emp.empno%type;
v_sal emp.sal%type;
cursor emp_cursor is select empno,job,sal from emp where deptno=v_deptno for update of sal;--表示更新游标取出来的那条记录
BEGIN
for emp_record in emp_cursor loop
if emp_record.sal<800 then
update emp set sal=800 where current of emp_cursor;
end if ;
dbms_output.put_line(emp_record.empno||emp_record.sal);
end loop;
commit;
end;
为职工增加10%的工资,从最低工资开始长,增加后工资总额限制在50万元以内
create table msg(
num int,
sal number);
table MSG 已创建。
Declare
cursor c1 is select empno,sal from emp
order by sal for update of sal;
emp_num number:=0;
s_sal emp.sal%type;
e_sal emp.sal%type;
e_empno emp.empno%type;
BEGIN
OPEN c1;
select sum(sal) into s_sal from emp;
while s_sal<500000
loop
FETCH c1 into e_empno,e_sal;
exit when c1%notfound;
update emp set sal=sal*1.1 where current of c1;
s_sal:=s_sal+e_sal*0.1;
emp_num:=emp_num+1;
end loop;
close c1;
insert into msg values(emp_num,s_sal);
commit;
end ;
/
匿名块已完成
Select * from msg
NUM SAL
------------- ---
0 691400
3.带参数的游标
eg:
首先查询DEPT表取出所有的部门号,然后根据DEPT表中返回的每个部门号,从emp表中查询该部门的雇员信息
DECLARE
cursor dept_cursor is select deptno from dept;
v_ename emp.ename%type;
v_sal emp.sal%type;
cursor emp_cursor (v_deptno number) is select ename,sal
from emp where deptno=v_deptno;
Begin
for dept_record in dept_cursor loop
exit when dept_cursor%notfound;
open emp_sursor(dept_record.deptno);
loop
fetch emp_cursor into v_ename,v_sal;
exit when emp_sursor%notfound;
dbms_output.put_line(dept_record.deptno||' '||v_ename||' '||v_sal);
end loop
close emp_cursor;
end loop;
commit;
end;
错误报告:
ORA-06550: 第16 行, 第7 列:
PLS-00103: 出现符号"EMP_CURSOR"在需要下列之一时:
;
符号";" 被替换为"EMP_CURSOR" 后继续。
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action:
数据库系统设计实验报告 ――教务管理系统 学院:计算机科学与技术 专业:软件工程 班级: 学号: 姓名: 指导老师:
一、概述 项目背景:数据库课程设计 系统名称:教务管理系统 开发环境:SQL Server 2008 二、需求分析 1、系统的概述 ?一个学校由很多个学院组成,每个学院有多个专业,每个专业有1个或 者多个班级。一个学生只属于1个班级,学生有姓名、学号、性别、身 份证号、入学时间等属性。 ?每个专业的每个年级都有对应的教学计划。教学计划指定了这个专业这 个年级的某门课程在那个学期上,学分、学时是多少。每个学院都设置 有1个教务秘书,这些信息都由教务秘书进行输入。每个院系的课程都 有自己的唯一编码,比如计算机系上的C语言,和电子系上的C语言, 虽然都是同一门课,但是编码是不同的。但是同一个院系中的相同的课 程,课程代码是唯一的。比如计算机学院的07计算机软件专业和计算机 学院的07计算机科学专业都有C语言课程,这两门课程的课程代码是相 同的。 ?教务秘书在每个学期的中间时刻,为下一个学期进行排课,排课的内容 根据教学计划,比如08计算机软件专业的学生,在2009-2010年第2 学期上的课程,可以通过教学计划得知要上什么课程,然后对这些课程 安排上课教师(比如陈越)、上课时间(比如星期2,第1-2节)和地点 (理工楼234),有的课程是单周上,有的双周,也有是每周都上的。 ?在每个学期期末,学生登录到网站上选择下一个学期需要上的课,选择 的时刻,可以选择是否需要教材,如果某门课程的人数选满了,则不能 给任何学生选择了。 ?学生根据选择的课程进行上课,参加考试。每个老师可以用自己的用户 名和密码登陆网站,选择这个学期自己所教的课程(一个老师可以上多 个班级的课程),输入这个班级的成绩,成绩分为期末考试成绩、期中考 试成绩、平时成绩、实验成绩以及总评成绩。这些成绩都需要进行存储。 ?为了保证安全性,老师输入的成绩并不是直接放到最终的成绩表中,而 是放在一个临时的表中,只有当教务秘书审核过后,才导入到最终的成 绩表中。
一、实验内容 (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表添加数据
《数据库系统概论》实验报告 题目:实验三数据控制(安全性) 班级姓名学号日期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);
《专业技能训练—数据库应用系统开发》 报告 课程设计题目:医药管理信息系统 班级:13科技2班 姓名:詹文宏 学号:201324131251 任课教师:蔡文伟 开始时间:2015年09月7日 结束时间:2015年11月25日
目录 第一章系统概述 (3) 1.1 系统开发背景 (3) 1.2.系统开发目的 (3) 1.3.开发环境 (3) 第二章需求分析 (4) 2.1信息需求(基本信息) (4) 2.2功能需求 (4) 2.3数据库数据 (4) 2.4 模块图 (5) 2.5安全性与数据完整性要求 (10) 第三章概念结构设计 (11) 3.1系统E-R图 (11) 3.2逻辑结构设计 (12) 3.3主要模块的设计以及数据库操作 (14) 第四章设计总结 (24) 参考文献 (33)
第一章系统概述 1.1 系统开发背景 随着科技的不断进步,企业都在不断的注重管理的信息化以完善企业管理,增强企业自身的竞争力。医药业也不例外,通过较完善的信息系统实现自身企业对内部管理的方便性、合理性、快捷性、高效性等要求。 以前的手工管理效率低使最明显的缺陷,另外,数据的一致性不好维护,如某个药品信息的记录有所改动(如更改编号),那么该要品的其他记录就与此不一致,造成查询的费时费力。要把全部数据都更改又相当不方便。对药品库存的盘点也很不方便,而且需要较多的人来进行管理操作,而且容易出错,造成数据的不一致。而药品业是关民生的行业,错误信息可能会造成不可收拾的严重后果。因此,运用高效、准确的信息管理系统来替代手工管理是完善医药业管理的有效手段。 1.2.系统开发目的 利用数据库系统可以很好的对数据进行维护,减少由于数据不一致等错误带来的麻烦。方便数据的更新和查询,降低错误率,方便药品信息的维护及库存的盘点。还可以运用较少的人员,高效的完成对医药的管理。由于社会的发展不断趋于信息化,各个行业都要加强自身的信息化程度以适应社会的发展。而管理信息化正迎合了这个趋势,数据库系统在医药业的应用业实现了医药业执行工具、业务管理等的信息化,在这个信息化社会为医药业的发展增加了新的动力。相信随着社会的不断发展对该类系统的需求会越来越高。医药管理信息系统,即服务于个人,又服务于企业,并最终服务于社会,这是让科技为人类服务的最好例证,其开发意义显而易见。 1.3.开发环境 1)数据库管理系统选用Microsoft SQL Server 2005。
基于的火车售票系统数据库设计报告
版本历史
目录 0. 文档介绍 (4) 文档目的 (4) 文档范围 (4) 读者对象 (4) 参考文献 (4) 术语与缩写解释 (5) 1. 数据库环境说明 (6) 2. 数据库的命名规则 (6) 3. 逻辑设计 (6) 4. 物理设计 (7) 表汇总 (8) 表A (8) 表N (8)
5. 安全性设计 (10) 防止用户直接操作数据库的方法 (10) 用户帐号密码的加密方法 (10) 角色与权限 (11) 6. 优化 (11) 7. 数据库管理与维护说明 (11)
0. 文档介绍 文档目的 需求的编写是为了研究火车售票系统软件的开发途径和应用方法。同时它也是进行项目策划、概要设计和详细设计的基础,是维护人员进行内部维护,信息更新,验收和测试的依据。本说明书的预期读者是与和售票系统软件开发有联系的决策人。支持本项目的领导和公司人员,软件验证者。 文档范围 本文档适用于项目开发的设计阶段,在项目开发阶段可按照本文档检验数据库实施情况。 读者对象 1.本系统的开发人员。 2. 本系统的测试人员。 3. 本系统的客户 参考文献 提示:列出本文档的所有参考文献(可以是非正式出版物),格式
如下: [标识符] 作者,文献名称,出版单位(或归属单位),日期 例如: [AAA]作者,《立项建议书》,机构名称,日期 [SPP-PROC-SD] SEPG,系统设计规范,机构名称,日期 [1] [C#专业项目实例开发] Arora,中国水利水电出版社,2007 [2] [数据库原理及应用] 王雯,北京机械工业出版社 [3][数据库基础与实践技术] 何玉洁,,机械工业出版社. [4] [C#数据库系统开发完全手册] 王小科,人们邮电出版社, [5] [C#+sql Server中小型信息系统开发实例精选] 黄明,机械工业出版社. 术语与缩写解释
数据库原理实验报告(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”数据库中补充设计以下各表结构:
数据库原理课程设计报告学生学籍管理系统 学生学号: 学生姓名: 所在学院: 专业年级: 年月日
前言 随着信息技术的飞速发展,信息化的大环境给各成人高校提出了实现校际互联,国际互联,实现静态资源共享,动态信息发布的要求; 信息化对学生个人提出了驾驭和掌握最新信息技术的素质要求;信息技术提供了对教学进行重大革新的新手段;信息化也为提高教学质量,提高管理水平,工作效率创造了有效途径. 校园网信息系统建设的重要性越来越为成人高校所重视. 利用计算机支持教学高效率,完成教学管理的日常事务,是适应现代教学制度要求、推动教学管理走向科学化、规范化的必要条件;而教学管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,不允许出错,如果实行手工操作,每月须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行教学管理工作,不仅能够保证各项准确无误、快速输出,而且还可以利用计算机对有关教学的各种信息进行统计,同时计算机具有手工管理所无法比拟的优点. 例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高员工工资管理的效率,也是教学的科学化、正规化管理,与世界接轨的件。 在软件开发的过程中,随着面向对象程序设计和数据库系统的成熟,数计成为软件开发的核心,程序的设计要服从数据,因此教学管理系统的数据库设计尤其重要。这里主要介绍教学管理系统的数据库方面的设计,从需求分析到数据库的运行与维护都进行详细的叙述。
目录 前言 (2) 1.需求分析 (4) 1.1需求分析的任务 (4) 1.2需求分析的工程 (4) 1.3数据字典 (5) 2.概念结构设计 (6) 2.1E-R图设计方法及关键技术 (6) 2.2学生学籍管理E-R图 (7) 3.逻辑结构设计 (8) 4.数据库实施 (9) 4.1建表 (9) 4.2 SQL语句查增删改操作 (10) 4.3建立条件查询 (12) 4.4窗体的建立 (13) 4.5登陆、查询操作 (16) 4.6增删改操作 (16) 5.数据库运行与维护 (17) 5.1数据库的运行 (17) 5.2数据库的维护 (17) 6.总结 (18)
实验三数据表的创建与管理实验 所在院(系):数学与信息技术学院 班级: 学号: 姓名:
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.实验步骤、结果和总结实验步骤/结果
《数据库系统概论》课程设计报告 课程名称:数据库系统概论 院系年级:14级电气信息工程系 专业班级:计算机科学与技术1班 学号: 姓名: 联系电话: 指导教师: 安徽马鞍山
2016年6月 第一章相关方法技术 1.1数据库应用特点 数据库技术是现代信息科学与技术的重要组成部分,是计算机数据处理与信息管理系统的核心。数据库技术研究和解决了计算机信息处理过程中大量数据有效地组织和存储的问题,在数据库系统中减少数据存储冗余、实现数据共享、保障数据安全以及高效地检索数据和处理数据。随着计算机技术与网络通信技术的发展,数据库技术已成为信息社会中对大量数据进行组织与管理的重要技术手段及软件技术,是网络信息化管理系统的基础。 1.2数据与处理 以处理为中心 根据处理功能设计数据文件,处理功能需要什么数据就创建什么数据文件。处理功能是主动的,数据结构是依赖的。势必导致数据的冗余存储,潜在数据的不一致性。只适合科学计算,不适合数据密集型的事务处理系统。 以数据为中心 只要应用领域内的业务内容不变,其信息结构是稳定,多变的是处理功能。主张设计稳定的数据结构,自动适应处理程序的多变性。凡是数据库应用系统,适合采用以数据为中心的应用模式。 1.3数据库设计方法 (1)功能驱动方法: 这个方法设计依赖处理中心强调先根据功能要求画出分层的数据流程图从数据流程图当中收集数据项及其数据存储以及数据字典依据数字字典分析提取出数据库相关的各种信息类。 (2)E-R建模方法: 采用以数据为中心的设计策略在初步了解领域当中各种业务需求和处理过程基础上 1.4数据库设计步骤 按照规范化设计方法,从数据库应用系统设计和开发的全过程来考虑,将数据库及其应用软件系统的生命周期可以细分为七 个阶段:规划、需求分析、概念结构设计、逻辑结构设计、物理结构设计、实施及运行维护。 各阶段需完成的工作分别为: 1、应用规划 规划阶段进行系统的必要性和可行性分析,确定数据库系统在整个管理系统中的地位。 规划阶段必须要完成的任务包括:确定系统的范围;确定开发工作所需的资源(人员、硬件和软件);估算软件开发的成本;确定项目进度。
实用文档 《数据库系统》实验报告五
实用文档 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;
实验内容、步骤以及结果 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.使用系统存储过程(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;
1.需求分析 2.概念结构设计 3.逻辑结构设计 4.物理结构设计 5.数据库的建立和测试 6.数据库运行和维护 《车辆管理系统》数据库设计 班级:11计算机转 学号:1116939040 姓名:王湘萍 一.需求分析 1.1可行性分析 现在随着企业规模的扩大以及车辆作为最为普遍的交通工具,在企业中已经不是单一的存在,由于单位车辆数目的急剧增加,与之相对应的问题随之而生,比如车辆的使用权问题,车辆的费用问题等,不再是简单的少量的数据。为了解决这一系列的问题,我们必须借助于电脑的强大的数据处理能力和存储能力,如此可以减少人力财力来维护这些数据,可以用更少的投入来换取更佳的数据管理。因此,在这样的情况下,开发单位车辆管理系统是可行的,是必要的。如今,MIS开发已经慢慢的驱向成熟,车辆管理系统也有部分开发,但是都还不是十分完善。现今已经开发的车辆管理系统都是针对以运营为主的具有盈利目的的单位。比如,公交管理、出租车管理、运输公司管理、汽车站点的管理,而这些管理最主要是针对盈利的管理,很少有针对各种汽车使用权、车辆调配等各种普通单位,不是以车辆运营为盈利手段的车辆管理,针对这点,此系统就是适合如今大多数企业管理的车辆管理系统。 通过计算机系统对学校进行全面的管理,满足了学校的现代化管理的要求。 1)经济性 ①系统建设不需要很大的投入;
②可缩减人员编制,减少人力费用; ③人员利用率的改进; 2)技术性 ①处理速度快,准确; ②通过权限的设置,数据的安全性好; ③方便查询; ④控制精度或生产能力的提高 3)社会性 ①可降低工作人员工作强度,提高效率,会得到上下员工的一致同意的; ②可引进先进的管理系统开发方案,从而达到充分利用现有资源 1.2需求分析 现代信息技术特别是计算机网络技术的飞速发展,使我们的管理模式产生了质的飞跃,网络化管理将成为信息时代的重要标志和组成部分。探索、研究并构建适宜于在计算机网络环境下的管理模式,是我们责无旁贷的使命。 通过调查,要求系统需要具有以下功能: 1)由于操作人员的计算机知识普遍较差,要求有良好的人机界面。 2)由于该系统的使用对象多,要求有较好的权限管理。 3)方便的数据查询,支持多条件查询。 4)基础信息管理与查询(包括车辆信息、用车记录、部门信息)。 5)通过计算机,能够直接“透视”仓库存储情况。 6)数据计算自动完成,尽量减少人工干预。 7)系统退出。
实验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
数据库系统课程设计报告题目 :企业客户管理系统 课程代号: 0680036 课程名称:数据库课程设计 学号:20082024 姓名:贺玉英 班级: 08 级信息安全 1 班 指导教师:莫秀良 完成日期: 2011 年 4 月
第一章引言 1.1 设计开发的意义 企业客户管理是从20世纪开始在国际上通告的,以供需链管理思想为的 一项管理应用信息的技术。因为供应链的推行着重在于上下游企业间营运程序 的密切配合,并以产销的合作与信息的分享来达到上下游运作和“同步化”的 目标。所以在供应链的架构下,企业之间的合作必须共同追求企事业间营动容 实时分享与运作的同步化。 1.2所设计应用系统的任务及目标。 1.2.1任务 在以下的开发实践中介绍了企业客户管理系统的设计与开发。内容的介绍 按照系统开发的顺序进行。在开始对客户管理系统进行系统设计,分别对系统 的需求、功能和流程进行介绍。通过此部分的学习,可以对此系统的整个应用 有一个全面的了解。在数据库设计中,根据系统设计的内容,具体到数据的创 建,实现了数据库的完整设计。这是整个系统应用中最为重要的一部分,可以 说数据库设计的完美与否直接关系到整个系统的应用。在系统公用模块创建部 分,对整个系统中的数据源应用,界面整体架构设计进行了分析。这些公共模 块的应用,使得整个系统的后期维护地十分简单。 1.2. 2目标 在系统界面和代码的实现中。对系统中大部分页面的创建以及应用代码进 行了分析,通过学习可以完成整个系统的创建。 1. 3设计开发及运行的软硬件环境。 开发环境为 Windows XP.设计开发及运行的软件为Microsoft SQL 2005以
《数据库系统概论》实验报告 题目:实验三存储过程/触发器/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参考资料:
实验一 SQL Server基本使用与数据定义一.实验目的 1.掌握“服务管理器”、“企业管理器”及“查询分析器”基本使用方法;2.熟悉数据库建模及E/R图的画法; 3.掌握SQL Server 中数据库、及数据表的建立与管理方法; 4.掌握数据的导入/导出及数据库备份/还原方法。 二.实验内容 一、SQL Server 基本使用 1.启动SQL SERVER。 2.注册服务器 3.企业管理器属性 4.查询分析器介绍 5.查看数据库及浏览表中记录 二、数据库的建立与管理 1.数据库建模 2.启动、并打开SQL Server 3.使用图形界面创建数据库和表 4.使用查询分析器创建表 5.数据库的备份与还原
实验二 SQL查询 一.实验目的: 1.掌握SQL语言中SELECT语句的多种查询方式。 2.掌握对表建立与删除索引的方法。 3.掌握聚焦函数的使用方法。 4.掌握集合查询方法。 二.实验内容: 1.建立与删除[索引]的方法。 在各表中,分别按代理商编号、客户编号、产品编号及订单编号建立索引。 CREATE INDEX 代理商No ON 代理商(代理商编号) CREATE INDEX 客户No ON 客户(客户编号) CREATEINDEX产品No ON产品(产品编号) CREATEINDEX订单No ON订单(订单编号) 2.单表查询, ①从产品表中查询现有产品的库存量。 SELECT COUNT(*) FROM产品 ②从客户表中查询“王五”的地址及代理商编号。 SELECT地址,代理商编号 FROM客户 WHERE姓名='王五' ③从代理商表中查询代理商“惠普”的提成金额。 SELECT提成金额 FROM代理商 WHERE姓名='惠普' ④从订货项目表中查询编号为“444”的订单所订购的商品编号及数量。 SELECT产品编号,订购数量 FROM订货项目 WHERE订单编号='444' ⑤分别求代理商和客户的总数。 SELECT COUNT(*)代理商数 FROM代理商 SELECT COUNT(*)客户数 FROM客户 ⑥从订货项目表中,查询编号为0033的产品定货总数量。 SELECT COUNT(*)订货总数量 FROM订货项目 WHERE订单编号='0033' 3.多表查询 ①查询编号为300的客户通过的代理商的姓名和地址。 SELECT代理商.姓名,代理商.地址
《数据库原理》实验报告 题目:实验三 数据完整性与安全性控制学号班级日期 2016.10.18 一、实验容、步骤以及结果 1.利用图形用户界面对实验一中所创建的Student库的S表中,增加以下的约束和索引。 (18分,每小题3分) (1)非空约束:为出生日期添加非空约束。 非空约束:取消表S中sbirth的勾。可能需要重建表。 (2)主键约束:将学号(sno)设置为主键,主键名为pk_sno。 设主键:单击数据库Student-->单击表-->单击S-->右击sno-->选择‘修改’命令 -->对话框中右击sno-->选择‘设置主键’-->修改主键名为‘pk_sno’-->保存 (3)唯一约束:为(sname)添加唯一约束(唯一键),约束名为uk_sname。 唯一约束:单击数据库Student-->单击表-->单击S-->右击sname-->选择‘修改’ 命令→右击sname-->选择‘索引和键’命令-->打开‘索引和键’框图-->添加--> 是否唯一改为‘是’-->名称改为‘us_sname’-->关闭。
(4)缺省约束:为性别(ssex)添加默认值,其值为“男”。 设默认约束:单击数据库Student→单击表→单击S→右击sno→选择‘修改’命令→单击cno-->在默认值栏输入‘男’→保存
(5)CHECK约束:为SC表的成绩(grade)添加CHECK约束,约束名为ck_grade,其 检查条件为:成绩应该在0-100之间。
(6)外键约束:为SC表添加外键约束,将sno,cno设置为外键,其引用表分别是S表 和C表,外键名称分别为fk_sno,fk_cno。 2.在图形用户界面中删除以上小题中已经创建的各种约束,用SQL语言分别重新创建第1题中的(2)-(6)小题.(15分,每小题3分,提示:alter table add constraint) 删除约束:单击数据库Student-->表-->单击S-->展开键、约束。一一删除即可。
xxxx大学《数据库管理系统》课程实验报告 班级:_______姓名:实验时间:年月日指导教师:_______ 一、实验目的 1、通过实验,使学生全面了解最新数据库管理系统的基本内容、基本原理。 2、牢固掌握SQL SERVER的功能操作和Transact-SQL语言。 3、紧密联系实际,学会分析,解决实际问题。学生通过小组项目设计,能够运用最新数据库管理系统于管理信息系统、企业资源计划、供应链管理系统、客户关系管理系统、电子商务系统、决策支持系统、智能信息系统中等。 二、实验内容 1.导入实验用示例数据库: f:\教学库.mdf f:\教学库_log.ldf f:\仓库库存.mdf f:\仓库库存_log.ldf 1.1 将数据库导入 在SqlServer 2005 导入已有的数据库(*.mdf)文件,在SQL Server Management Studio里连接上数据库后,选择新建查询,然后执行语句 EXEC sp_attach_db @dbname = '教学库',
@filename1 = 'f:\教学库.mdf', @filename2 = 'f:\教学库_log.ldf' go use [教学库] EXEC sp_changedbowner 'sa' go EXEC sp_attach_db @dbname = '仓库库存', @filename1 = 'f:\仓库库存.mdf', @filename2 = 'f:\仓库库存_log.ldf' go use [仓库库存] EXEC sp_changedbowner 'sa' go 1.2 可能出现问题 附加数据库出现“无法打开物理文件"X.mdf"。操作系统错误5:"5(拒绝访问。)"。(Microsoft SQL Server,错误: 5120)”。 解决:找到要附加的.mdf文件-->右键-->属性-->安全-->选择当前用户-->编辑-->完全控制。对.log文件进行相同的处理。 2.删除创建的数据库,使用T-SQL语句再次创建该数据库,主文件和日志文件的文件名同上,要求:仓库库存_data最大尺寸为无限大,增长速度为20%,日志文件初始大小为2MB,最大尺寸为5MB,增长速度为1MB。 CREATE DATABASE仓库库存 (NAME = '仓库库存_data', FILENAME = 'F:\仓库库存_data.MDF' , SIZE = 10MB, FILEGROWTH = 20%) LOG ON (NAME ='仓库库存_log', FILENAME = 'F:\仓库库存_log. LDF', SIZE = 2MB, MAXSIZE = 5MB, FILEGROWTH = 1MB) 2.1 在数据库“仓库库存”中完成下列操作。 (1)创建“商品”表,表结构如表1: