实验2.2 参照完整性
- 格式:pdf
- 大小:705.91 KB
- 文档页数:9
access实验报告样板access实验报告样板实验项目一:数据库和表的操作一、实验目的:1.熟悉Access20xx系统集成环境,掌握系统菜单和工具栏的操作方法及功能:2.数据库操作3.表操作二、实验内容:1.Access20xx的启动、菜单栏、工作环境、退出与自定义工具栏;2.数据库的创建、打开和关闭;3.表的定义、记录的操作以及创建表间关联三、实验步骤:1.1启动:单击“开始/程序”项,在程序菜单中选择“Micr osoftO fficeAccess20xx”就可以进入Acess20xx的系统主界面窗口。
由此可以看到Access20xx用户界面由标题栏、菜单栏、工具栏、工作区和状态栏组成;如下图1.2退出:方法一:在Acess20xx系统主界面中,打开“文件”菜单,选择“推出”命令或按X字母键。
方法二:单击右上角的关闭按钮;方法三:按Ctrl+Alt+Del组合键,打开“Windows任务管理器”窗口,选取“应用进程”,单击“结束任务”按钮1.3自定义工具栏操作:视图→工具栏→自定义→新建(我自主命名)→在“自定义”窗口中选择“命令”选项→在”类别“列表框中选择类别→在”命令“列表框中选择操作按钮→拖到新建的工具栏中→在“自定义”选择→属性→工具栏属性框进行(选择工具栏名称)→设置→关闭如下图(1)图(一)2.1创建数据库操作:启动Access→新建(激活“新建文件面板”)→空数据库→命名(存储路径)→创建如图:22.2数据库的打开与关闭打开操作:文件→打开→选择数据名(英才学校数据库)→单击“打开”按钮右侧的向下箭头,选择打开方式关闭操作:文件→关闭;单击”数据库”右上角的关闭按扭;按Ctrl+F43.1表的定义操作:“数据库”(英才学校数据库)窗口→选择“表”→新建→设计视图→确定(逐一定义每个字段名、类型、宽度)→单击“关闭”按钮,保存如图: 3.2表属性的设置操作:“数据库”窗口→选择要修改的表→单击“设计”,打开“表”设置窗口,更改字段、设置字段格式、输入掩码、有效规则等如图:3.3使用表操作:“数据库”窗口→选择要操作的表→单击“打开”,打开“表”浏览窗口,在“编辑”菜单下进行替换操作,在“记录”菜单下进行筛选操作如图: 3.4建立表间关联操作:先为表建立索引→然后为一的一方建立主索引→打开“工具”菜单下“关系”命令→在“显示表”对括框中添加表→将一个表中的相关字段拖到另一个表中相关字段的位置上,设置参照关系,所建立关系如图下:四、实验总结通过这次实验,也通过对比Word20xx,Access20xx应该是对我们管理专业是有极大好处的,通过了几次的上机实验,本人基本熟悉Access20xx的部分工作环境,会数据库的创建、打开与关闭;能进行表的创建、修改、属性设置、索引等基本操作;加深对数据库、表间联系等概念知识的理解。
第二章数据库的完整性控制数据完整性(Data Integrity)是指数据的精确性(accuracy)和可靠性(reliability),它是防止数据库中存在不符合语义规定的数据和防止因错误的信息的输入造成无效操作或错误信息而提出的,保证在一个应用程序更新数据的过程中数据的语义正确性。
数据完整性主要分为三类:实体完整性(Entity Integrity),参照完整性(Referential Integrity)以及用户定义的完整性(User-defined Integrity),其中用户定义的完整性主要包括域完整性(Domain Integrity)和其他自定义完整性。
为维护数据库德完整性,数据库管理系统(DBMS)必须提供一种机制来检查数据库中的数据,看其是否满足语义规定的条件。
这些加在数据库数据上的语义约束条件称为数据库完整性规则,它们作为模式的一部分存入数据库中。
完整性控制是指对数据库进行更新操作,要遵守完整性规则,才能保证数据的语义正确性,防止数据库中存在不符合语义的数据。
目的是在合法用户访问数据库的过程中,保证数据的正确性和准确性。
完整性检查机制是指在DBMS中检查数据是否满足完整性条件的机制。
由DBMS在执行更新动作时,检查是否满足预定的完整性约束条件,来进行控制。
广义的完整性控制包括故障恢复、并发控制。
而一般所指的完整性控制是指基于数据库的完整性约束规则,如:实体完整性、引用完整性等。
SQL中两种主要的数据完整性控制机制是指完整性约束规则的定义和检查以及触发器(Trigger)机制。
完整性控制机制应具有三个功能:(1)定义功能,即提供定义完整性约束条件的机制;(2)检查功能,即检查用户发出的操作请求书否违反了约束条件;(3)如果发现用户操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性。
完整性控制机制的工作原理基本上分为两类,一种是定义完整性时就立刻进行检查的,例如实体完整性的定义;另外一种是定义完整性之后进行检查的,例如参照完整性的定义。
大理学院数学与计算机学院《数据库系统设计》课程设计报告班级:2012级计算机科学与技术1班学号:201211514姓名:刘秀珍系统名称:学生选课系统总分:实验报告内容及撰写要求:一、需求分析程序的主要功能描述,可以用文字、框图、用例等方式。
参考《数据库系统设计任务书》附录中的内容来进行设计报告的撰写。
主要应当包含分析的过程及分析后得到的数据流图和数据字典。
二、数据库设计2.1 数据库概念设计实体关系模型设计,创建分ER图和总体ER图,并描述总体E-R图合并时的问题解决。
2.2数据库的逻辑设计根据概念设计结果,创建数据库的逻辑模型,建立在具体DBMS下(SQL SERVER 2005)的表结构,并根据规范化理论对表结构进行优化调整。
同时,根据应用需求,创建数据库系统所需的外模式(视图)、模式和内模式(索引)等,此外,应当根据需求,建立数据完整性约束(实体完整性,参照完整性和用户自定义完整性)。
三、系统实现3.1 数据库访问1)数据访问类及实现代码2)SQL语句3.2 业务逻辑层类及代码描述业务流程、数据处理功能的模块代码3.3表示层的实现可以用界面截图及其实现类及核心代码描述四、总结一、需求分析1.1背景全校性选修课开设的目的在于扩大学生的知识面、加强学生素质教育、培养复合型高级人才,具有不可替代的重要性。
随着教育改革的不断深入和素质教育的加强,学分制的实施,选修课在一个学生的培养计划中占的比重将越来越大。
网上选课系统的出现使同学们能够更加自主、便捷、准确的进行选课。
但是,由于一般高校中的学生都比较多,因此带来了诸多如信息管理等问题,鉴于需要将学生信息、选课信息等信息数字化以便于管理维护,我们便想到了利用数据库能够比较良好地解决此类问题,由此下面我将设计出一个学生选课系统以供参考。
1.2系统设计要求:设计出一个学生选课数据库系统的简要要求如下:1)设计要求①建立相应的数据库及相关的表、属性、约束、规则、默认等;②输入相应的记录(每个表不少于20条记录);③编写进行数据管理的存储过程。
实验8:表数据的计算统计1.实验目的:掌握按条件统计记录数掌握按条件求和掌握按条件求平均值掌握按条件分类汇总掌握通过函数进行计算的方法。
2.实验内容:(1) 利用命令统计表学生.dbf中物理系的女生人数。
(2) 利用命令统计学生成绩表中成绩的和。
(3) 利用命令统计学生成绩.dbf中所有学生的平均成绩。
(4) 利用命令对学生成绩.dbf中所有学生,计算每个学生的总成绩,并将结果存入tabel1.dbf。
(5) 利用命令求学生成绩表中课程编号为“C106”的人数、最高成绩、最低成绩、平均成绩,并将结果存入相应变量中,然后显示变量的值。
实验9:多表操作1.实验目的:掌握在不同工作区打开不同的表文件并显示的方法。
掌握利用命令建立表间临时关联掌握使用数据库工作期,建立表间临时关联掌握实现表间的物理连接掌握实现表间的数据更新的方法。
2.实验内容:(1) 分别利用命令和数据工作期两种方法,分别在1,2,3号工作区打开表文件:学生.dbf,课程.dbf,学生成绩.dbf。
并在1号工作区显示课程.dbf的课程名称字段,在2号工作区显示学生成绩.dbf中的课程编号和成绩字段。
○1使用命令○2使用数据工作期(2) 根据表文件学生.dbf、课程.dbf、学生成绩.dbf,使用命令序列建立关联,显示每个学生的选课情况及成绩。
要求显示该学生的学号、姓名、课程编号、课程名称、成绩。
(3) 根据表文件学生.dbf、课程.dbf、学生成绩.dbf,使用数据工作期实现查询选修了大学英语的学生情况。
要求显示该课程的课程编号、课程名称、学生的学号、姓名、成绩。
(4) 查询各个院系开设课程的学生选课情况及成绩,并存入一个新的表文件kaike.dbf。
要求显示开课院系、学生学号、课程名称、成绩。
(5) 按下面的表建立学生年龄.dbf,而年龄字段要求利用学生表中的出生日期字段的值每年更新一次,写出相应的命令。
实验10:数据库的创建与管理1.实验目的:熟练掌握创建数据库的方法。
数据库设计实验报告学院: 计算机科学与软件学院班级:姓名:学号:实验一实验1.1 数据定义一、实验目的熟悉SQL的数据定义语言,能够熟练的使用SOL语句来创建和更改基本表,创建和取消索引。
二、实验内容本实验的主要内容包括:使用CREATE语句创建基本表。
更改基本表的定义,增加列,删除列,修改列的数据类型。
创建表的升降序索引、取消表、表的索引或表的约束。
三、习题(1)AGENTS(AID,ANAME,ITY,PERCEN).数据库表PRODUCTS(PID,PNAME)。
其中,CID,AID,PID分别是各表的主键,具有唯一性约束。
创建CUSTOMERS表:CREATE TABLE CUSTOMERS(CID INT NOT NULL,CNAME CHAR(8),CITY CHAR(8),DISCNT CHAR(8),PRIMARY KEY(CID))创建AGENTS表:CREATE TABLE AGENTS(AID INT NOT NULL,ANAME CHAR(8),CITY CHAR(8),PERCEN CHAR(8),PRIMARY KEY(AID))创建PRODUCTS表:CREATE TABLE PRODUCTS(PID INT NOT NULL,ANAME CHAR(8),PRIMARY KEY(PID))(2).创建数据库表ORDERS(ORDNA,MANTH,CID,AID,PID,QTY,DOLLARS).其中,ORDNA是主键,具有唯一性约束。
CID,AID,PID分别是外键引用自表CUSTOMERS,AGENTS,PRODUCTS.CREATE TABLE ORDERS(ORDNA INT NOT NULL,MONTH INT,CID INT,AID INT,PID INT,QTY CHAR(8),DOLLARS CHAR(8),PRIMARY KEY(ORDNA),FOREIGN KEY(CID)REFERENCES CUSTOMERS,FOREIGN KEY(AID)REFERENCES AGENTS,FOREIGN KEY(PID)REFERENCES PRODUCTS)(3).增加数据库表PRODUCTS三个属性列:CITY,QUANTITY,PRICE.ALTER TABLE PRODUCTS ADD CITY CHAR(8)ALTER TABLE PRODUCTS ADD QUANTITY CHAR(8)ALTER TABLE PRODUCTS ADD PRICE CHAR(8)(4).为以上四个表建立各自的按组建增序排列的索引CREATE INDEX XCNO ON CUSTOMERS(CID)CREATE INDEX XCNO ON AGENTS(AID)CREATE INDEX XCNO ON PRODUCTS(PID)CREATE INDEX XCNO ON ORDERS(ORDNA)(5) 取消(4)建立的四个索引DROP INDEX AGENTS.XCNODROP INDEX CUSTOMERS.XCNODROP INDEX PRODUCTS.XCNODROP INDEX ORDERS.XCNO实验1.2 数据查询一、实验目的:熟悉SQL语句的数据查询语言,能够使用SQL语句对数据库进行单表查询、链接查询、嵌套查询和统计查询。
数据库实验报告华北电⼒⼤学课程设计报告(2014--2015年度第2学期)名称:数据库原理课程设计题⽬:图书管理信息系统院系:计算机系班级:计科1203学号:学⽣姓名:指导教师:熊海军设计周数: 1成绩:⽇期:2015年6⽉25⽇《数据库原理课程设计》课程设计任务书⼀、⽬的与要求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.完成⽤户界⾯的设计,对重要数据进⾏加密。
实验三:创建视图、存储过程和实现数据安全_mysql实验三:完整性约束、视图、存储过程和数据安全[⽬的和意义]掌握创建各种完整性约束的⽅法;掌握创建和使⽤视图、存储过程和索引的⽅法;掌握实现数据安全的基本⽅法;掌握数据库的基本备份和恢复技术。
[实验内容]本实验在mysql数据库平台上进⾏操作,实验中的各种数据都来⾃于实验⼆中的各个表。
实验主要内容如下:1.学习创建完整性约束的⽅法。
2.学习创建视图、存储过程和索引的⽅法。
3.学习利⽤⽤户管理和视图实现数据安全。
4.学习mysql数据库的基本备份和恢复技术。
[实验步骤]1 完整性约束1.1 实体完整性约束主键⼀定是⾮空的,⽽且具有唯⼀性,即不能重复。
能够唯⼀标识实体,保证实体完整性。
虽然,上⾯已经成功创建了主键,但是,我们还是要学习⼀下主键的写法。
第⼀种:在建表的时候就加上主键:还是以上⾯course表的创建为例:CREATE TABLE course (cno V ARCHAR(10) NOT NULL,dno CHAR(8) NOT NULL,cname V ARCHAR(20) NOT NULL,hours INTEGER NOT NULL,term INTEGER NOT NULL,credit INTEGER NOT NULL,CONSTRAINT pk_course PRIMARY KEY (cno));其中最后⼀句话就是将cno设为主键。
如果主键包含多个字段,可以在括号内添加所包含字段名,如取cno和dno为主键,则语句为:CONSTRAINTpk_course PRIMARY KEY(cno,dno)。
第⼆种:若建表的时候没有将cno设为主键,表建⽴成功以后,可以加上主键约束:ALTER TABLE course ADD CONSTRAINT pk_course PRIMARY KEY(cno) ;1.2 参照完整性约束建⽴外键:例如,在course表中建⽴和department表之间的外键,语句如下:ALTER TABLE courseADD CONSTRAINT fk_course_departmen_departme FOREIGN KEY (dno) REFERENCES department (dno);在student表中建⽴和department表之间的外键,语句如下:ALTER TABLE studentADD CONSTRAINT fk_student_departmen_departme FOREIGN KEY (dno) REFERENCES department (dno);1.3 业务规则约束有时候,不同系统会有⼀些特定的业务规则;例如这⾥,要求在删除teacher表之前⼀定要先删除teacher_course与student_course_teacher中的相关信息,这⾥,我们⽤触发器实现⼀下:DELIMITER //#修改分隔符CREATE TRIGGER tri_del_teacherAFTER DELETE ON teacherFOR EACH ROWBEGINDELETE FROM teacher_courseWHERE tno=old.tno;DELETE FROM student_course_teacherWHERE tno=old.tno;END //DELIMITER ; #修改回原分隔符建⽴成功以后,如果我们在teacher表中删除⽼师编号为'2004-213'的⽼师的信息,那么teacher_course和student_course_teacher两表中包含此⽼师信息的相关数据都会删除掉(慎⽤!)。