数据库实验报告

2022-08-25

国民经济的快速发展下,越来越多的行业,开始通过报告的方式,用于记录工作内容。怎么样才能写出优质的报告呢?以下是小编收集整理的《数据库实验报告一二》,供大家参考借鉴,希望可以帮助到有需要的朋友。

第一篇:数据库实验报告一二

数据库实验报告

一、题目要求

某银行准备开发一个银行业务管理系统,通过调查,得到以下的主要需求:

银行有多个支行。各个支行位于某个城市,每个支行有唯一的名字。银行要监控每个支行的资产。 银行的客户通过其身份证号来标识。银行存储每个客户的姓名及其居住的街道和城市。客户可以有帐户,并且可以贷款。客户可能和某个银行员工发生联系,该员工是此客户的贷款负责人或银行帐户负责人。 银行员工也通过身份证号来标识。员工分为部门经理和普通员工,每个部门经理都负责领导其所在部门的员工,并且每个员工只允许在一个部门内工作。每个支行的管理机构存储每个员工的姓名、电话号码、 家庭地址及其经理的身份证号。银行还需知道每个员工开始工作的日期,由此日期可以推知员工的雇佣期。 银行提供两类帐户——储蓄帐户和支票帐户。帐户可以由2个或2个以上客户所共有,一个客户也可有两个或两个以上的帐户。每个帐户被赋以唯一的帐户号。银行记录每个帐户的余额 、开户的支行以及每个帐户所有者访问该帐户的最近日期。另外,每个储蓄帐户有其利率,且每个支票帐户有其透支额。 每笔贷款由某个分支机构发放,能被一个或多个客户所共有。每笔贷款用唯一的贷款号标识。银行需要知道每笔贷款所贷金额以及逐次支付的情况(银行将贷款分几次付给客户)。虽然贷款号不能唯一标识银行所有为贷款所付的款项,但可以唯一标识为某贷款所付的款项。对每次的付款需要记录日期和金额。

二、需求分析

这一部分主要是根据实验需求对银行系统需求中的实体、实体属性以及实体之间的关联进行确认,以便画出正确的概念模型。

2.1 实体确认

根据需求分析确认实体:银行员工、银行支行、客户、账户(其中:储蓄账户、支票账户是继承实体账户而来)、贷款、支付(弱实体)。

2.2 实体属性确认

银行员工:身份证号(pi)、姓名、电话号码、家庭地址、开始工作日期 银行支行:支行名、资产、城市

客户:身份证号、姓名、街道、所在城市 账户:账户号、余额、最近访问日期 支票账户:透支额 储蓄账户:利率 2.3 实体关系确认

账户和支行:N:1定义关系为Relationship_accout_bank 客户和贷款:M:N定义关系为Relationship_client_loan 客户和员工:M:1 定义关系为 Relation_client_staff 贷款和支行:1:N 定义关系为 Relationship_loan_bank 客户和账户:M:N 定义关系为 client__accout 贷款发放信息和贷款:N:1 定义关系为 Relationship_loan_pay 支行和员工:1:N 定义关系为Relationship_staff_bank

员工和员工:1:N 定义关系为 Relationship_lead

三、概念模型(CDM)

根据sybase power designer画出概念模型(CDM),如下图所示:

四、物理模型(PDM)

根据概念模型转化成物理模型(PDM),如下图所示:

第二篇:数据库实验报告

10包三 李雅 100910306

实验报告

一、 实验题目:

数据库基本操作实验

二、 实验目的:

掌握数据库的建立、表的设计基本方法,通过实际操作熟练掌握数据库的基本操作——数据的输入与导入,表的设计。

三、 实验内容:

建立课程管理数据库,要求:

1. 输入老师、开设课程、选课表、学生基本数据等,并输入一些学生不同课程的考试成绩。

2. 建立查询表,分别是成绩查询、学分查询、不及格学生查询。

3. 建立窗体,分别显示不及格学生的姓名、课程名称、成绩和班级ID。在成绩查询中显示学生姓名及各科成绩。在教师基本信息中显示编号、职称、工资、院系、等。同时建立开设课程表和学生基本信息的窗体查询。提供用户一个简单的应用程序界面,方便用户操作使用。

4. 制作报表。包括教师的授课报表,课程名称及课程类别。学生的总成绩报表,包括课程名称、成绩和学分。

注:课程及考试成绩可以任意输入。选课按照班级确定。

四、 实验过程:

1、 数据库表设计

在表格内填入教师基本信息、开始课程、课程基本信息、选课表、学生基本信息。

教师基本信息:

开设课程:

1 / 7

10包三 李雅 100910306

课程基本信息:

选课表:

2 / 7

10包三 李雅 100910306

学生基本信息:

2、 查询表: 成绩查询:

3 / 7

10包三 李雅 100910306

学分查询:

不及格学生查询:

4 / 7

10包三 李雅 100910306

3、 窗体设计: 不及格学生信息查询:

成绩查询:

教师基本信息查询:

开设课程信息查询:

5 / 7

10包三 李雅 100910306

学生基本信息查询:

4、 报表: 教师的授课报表:

6 / 7

10包三 李雅 100910306

学生的总成绩:

7 / 7

第三篇:数据库上机实验报告

兰州理工大学

学生上机报告

学院计算机与通信学院课程名称数据库原理

学生姓名侯予南学号05550204

专业班级基地班05级1班

上机日期2008年4月17日

指导教师李明

上机实验报告

(一)

实验内容:

1、熟悉SQL Server 2000应用环境;

熟悉查询分析器的使用方法;

2、运行课堂示例:建立表Teacher , Course ;

进行数据插入、查询、更新、建立视图、创建触发器等操作;

3、完成作业(P108 第5题,P145第5题);

4、完成实验报告。

实验环境:

数据库系统:SQL Server 2000

实验过程:

在实验中发现的问题:

小结:

教师评语:

成绩:

第四篇:数据库实验报告九

实验9 数据库的安全性

一 实验目的

理解身份验证模式;

理解登录账号、服务器角色、数据库角色和数据库用户,以及之间的关系; 能够创建登录账号,创建数据库角色;

能够为数据库用户分配权限;

二 实验内容

(1)建立一个为SQL Server登录账号student1。

(2)将该帐号映射至数据库:学生课程数据库。

(3)指定登录账号student1的服务器角色为sysadmin。

(4)授予用户账号student1的数据库角色为db_owner。

(5) 授予用户账号student1的对象权限为数据库中的基本表操作,语句权限为允许SELECT

操作,禁止DELETE、INSERT和UPDATE操作。

第五篇:数据库课程上机实验报告

一、实验目的

通过用SQL语句对数据进行完整性控制,了解掌握提供定义完整性约束条件的机制、提供完整性检查的方法以及违约处理

二、实验环境

WINDOWS XP 和 SQLServer200

5三、实验内容:

参照完整性定义

参照完整性检查和违约处理

属性上的约束条件的定义(1.不允许去控空值 2.劣质唯一 3.用CHECK短语指定列值应该满足的条件)

属性上的约束条件检查和违约处理

元祖上的约束条件的定义

完整性约束命名子句

修改表中的完整性限制

定义触发器

激活触发器

四、程序源码与运行结果

一、定义SC中的参照完整性。

CREATE TABLE SC

( Sno CHAR(9) NOT NULL,

Cno CHAR(4) NOT NULL,

Grade SMALLINT,

PRIMARY KEY (Sno,Cno),

FOREIGN KEY (Sno) REFERENCES Student (Sno),FOREIGN KEY (Cno) REFERENCES Course (Cno));

二、显式说明参照完整性的违约处理示例。

CREATE TABLE SC

(Sno CHAR(9) NOT NULL,

Cno CHAR(4) NOT NULL,

Grade SMALLINT,

PRIMARY KEY(Sno,Cno),

FOREIGN KEY(Sno) REFERENCES Student(Sno)

ON DELETE CASCADE

ON UPDATE CASCADE

FOREIGN KEY(Cno) REFERENCES Course(Cno)

ON DELETE NO ACTION

ON UPDATE CASCADE

);

三、在定义SC表时,说明Sno,Cno,Grade属性不允许取空值。

CREATE TABLE SC

(Sno CHAR(9) NOT NULL,

Cno CHAR(4) NOT NULL,

Grade SMALLINT NOT NULL,

PRIMARY KEY(Sno,Cno),

四、建立部门表 DEPT,要求部门名称 Dname列取值唯一,部门编号Deptno列为主码。(列值唯一)

CREATE TABLE DEPT

(Deptno NUMERIC(2),

Dname CHAR(9) UNIQUE,

Location CHAR(10),

PRIMARY KEY(Deptno)

五、Student表中Ssex只允许“男”或“女”。(用 CHECK 短语指定列值应该满足的条件)CREATE TABLE Student

(Sno CHAR(9) PRIMARY KEY,

Sname CHAR(8) NOT NULL,

Ssex CHAR(2) CHECK(Ssex IN(„男‟,„女‟)),

Sage SMALLINT,

Sdept CHAR(20)

六、当学生的性别是男时,其名字不能以 MS.打头。(元组上的约束条件的定义)CREATE TABLE Student

(Sno CHAR(9),

Sname CHAR(8) NOT NULL,

Ssex CHAR(2),

Sage SMALLINT,

Sdept CHAR(20),

PRIMARY KEY(Sno),

CHECK (Ssex=„女‟ OR Sname NOT LIKE „ MS.% ‟)

);

七、完整性约束命名子句

CONSTRAINT <完整性约束条件名> [PRIMARY KEY 短语ㄧCHECK 短语]

例1:建立学生登记表Student,要求学号在90000-99999之间,姓名不能取空值,年龄小于30,性别只能是“男”或“女”。

CREATE TABLE Student

(Sno NUMERIC(6)

CONSTRAINT C1 CHECK(Sno BETWEEN 90000 AND 99999),

Sname CHAR(20)

CONSRAINT C2 NOT NULL,

Sage NUMERIC(3)

CONSTRAINT C3 CHECK(Sage < 30),

Ssex CHAR(2)

CONSTRAINT C4 CHECK(Ssex IN(„男‟,„女‟)),

CONSTRAINT StudentKEY PRIMARY KEY(Sno)

);

例2:建立教师表 TEATHER,要求每个教师的应发工资不低于3000元。 应发工资实际上就是实发工资例Sal与扣除项Deduct之和。

CREATE TABLE TEATHER

(Eno NUMERIC(4) PRIMARY KEY,

Ename CHAR(10),

Job CHAR(8),

Sal NUMERIC(7,2),

Deduct NUMERIC(7,2),

Deptno NUMERIC(2),

CONSTRAINT EMPFKey FOREIGN KEY(Deptno)REFERENCES DEPT(Deptno),CONSTRAINT C1 CHECK(Sal+Deduct >=3000)

);

八、限制修改表Student中的约束条件,要求学号改在900000-999999之间,年龄由小于30改为小于40。(修改表中的完整性)

可以先删除原来的约束条件,再增加新的约束条件。

ALTER TABLE Student

DROP CONSTRAINT C1;

ALTER TABLE Student

ADD CONSTRAINT C1 CHECK(Sno BETWEEN 900000 AND 999999),ALTER TABLE Student

DROP CONSTRAINT C3;

ALTER TABLE Student

ADD CONSTRAINT C3 CHECK(Sage <40 );

九、SQL 使用 CREATE TRIGGER 命令建立触发器,其一般格式为

CREATE TRIFFER <触发器名>

{ BEFORE AFTER } <触发事件> ON <表名>

FOR EACH {ROW STATEMENT}

[WHEN <触发条件>]

<触发动作体>

例:定义一个BEFORE 行级触发器,为教师表Teacher定义完整性规则“教授的工资不得低于4000元,如果低于40000元,自动改为4000元”。

CREATE TRIGGER Insert_Or_Sal

BEFORE INSERT OR UPDATE ON Teacher

FOR EACH ROW

AS BEGIN

IF (new.Job=‟教授‟)AND(new.Sal<4000)THEN

new.Sal :=4000;

END IF;

END;

十、执行修改某个教师工资SQL语句,激活上述定义的触发器。

UPDATE Teacher SET Sal=800 WHERE Ename=„陈平‟;

执行顺序是:

 执行触发器 Insert_Or_Update_Sal;

 执行SQL语句“UPDATE Teacher SET Sal=800 WHERE Ename="陈平";"  执行触发器Insert_Sal;

 执行触发器Update_Sal.十一、删除触发器的SQL语法如下:

DROP TRIGGER <触发器名> ON <表名>;

触发器必须是一个已经创建的触发器,并且只能由具有相应权限的用户的删除. 例: 删除教师表 Teacher 上的触发器 Insert_Sal。

DROP TRIGGER Insert_Sal ON Teacher;

五、实验总结

在实验过程中我对于创建和修改触发器和完整性约束的语法搞不明白

通过本实验,我理解/了解/熟悉了....... 熟悉了完整性约束的添加删除 熟悉了触发器的使用方式 熟悉了触发器语法熟悉级联式更新删除的语法

上一篇:十九届二中全会报告下一篇:设计项目合作协议书

本站热搜