付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章数据库基础计算机基础课程教学中心主要内容13.1数据库概述23.2数据模型343.4各种RDBMS产品对比3.3关系数据库3.1数据库概述我们身边的数据库?什么是数据库?是持久数据的集合,是存储在计算机中的数据的集合
银行的用户信息、学校的教师和学生信息、图书馆的图书信息、网页上不断更新的新闻、文献资料……什么是数据库技术?研究如何科学组织和存储数据,如何高效地获取和处理数据,以及如何保障数据安全,实现数据共享。举例:图书馆===数据库保障图书安全整理、组织、存储最大限度地
实现图书的共享高效地查找和
管理图书图书馆根据书的特征将它们按学科分类整理,通过建立索引表确定书籍的存放方法;根据索引表按照名称、作者、关键字、出版社等查找存放位置;
需要不断地对图书进行购进、丢失处理、借阅、归还等管理工作;
对图书使用状况进行科学地分析和统计,作为修改购书计划的依据;图书不能借了不还、阅览室的书不能外借(或只能短期借阅)、重要文献借阅有严格的规章制度、只允许合法用户借阅、限定借阅册数和期限……不允许长期滞留在个人手中、不能被某些院系独占、避免重复购进造成浪费……数据库与图书馆的不同点:数据更具普遍性,数据的多样性和复杂性使得数据的组织和管理更具挑战性,
需要一套科学的技术和方法。简而言之,数据库技术就是数据管理的技术。数据库的基本概念数据数据(data):是人们描述客观事物及其活动的抽象符号表示,是人们相互之间进行思想文化交流的工具。数据不但可以是数字,也可以是声音、文字、图形、图像、视频等多种形式。数据库的基本概念数据处理对数据进行的查找、统计、分类、修改等运算都属于加工。例如:查找出不及格课程在三门以上的学生统计某学生的平均成绩按分数从高到低排序输出数据库的基本概念数据库的发展——文件系统在文件系统中,数据根据其内容、结构和用途被组织成相互独立的文件。数据与程序具有一定的独立性。二者在存储位置上完全分开、相互独立。缺点:1、读写时,需要在程序中给出数据的存取格式和方法;文件中数据存取格式和方法改变时,程序中的语句也须修改。2、数据共享性差,存在较大的数据冗余度。后果是数据的冗余度大,浪费存储空间,相同数据的重复存储、各自管理,也容易导致数据不一致。文件系统数据库系统程序与数据具有一定独立性;数据共享性差,导致冗余、
不一致;记录有结构、整体无结构。数据由数据库管理系统统一管理;程序与数据相互独立性;数据高度共享,减少冗余、
避免不一致;数据结构化。数据粒度小。学号姓名性别状态入学时间最后登陆时间登陆次数39001杨雨潇男在读2007-9-12008-7-21839002崔敏女在读2007-9-12008-7-42539003张进女在读2007-9-12008-7-12039004何晴女在读2007-9-12008-6-301639005李哲男在读2007-9-12008-7-21939006刘晓女在读2007-9-12008-7-222数据库的基本概念数据库的发展——数据库系统1、数据由数据库管理系统统一管理2、数据结构化3、数据共享4、数据相对独立5、数据粒度小在数据库系统中,通过专门的数据库管理系统软件来管理数据库。用户访问数据时,只需要知道数据库的结构,不需要了解数据的具体存储格式和存取方法。数据按性质和特征被划分为若干个不同的文件每个文件内的记录之间,以及不同文件之间都是相互联系的,这些联系构成了数据库结构.数据库的组织是针对整个单位、整个应用系统,而不是某个部门、某个应用程序。一个数据库中的数据可以被多个用户、多个应用程序共享使用。数据库中一种数据(比如学生姓名、性别)尽量只出现在一个数据文件中,大大减少了数据重复和冗余,避免数据的不一致性。数据库从存储位置上独立于程序,能够为多个程序或用户所共享。数据的存储特性独立于程序而存在。物理独立性已基本实现;逻辑独立性很困难。文件系统中数据的读写通常是以记录为基本单位的,而在数据库系统中,最小存取粒度(单位)是记录中的数据项,这给数据处理带来了极大的方便提高了数据的处理速度。数据库的基本概念数据库DataBase(DB)
指长期存储在计算机内、有组织的、可共享的数据集合。数据库中不仅包含数据本身,也包含数据之间的联系。
特点:数据按照一定的数据模型进行组织,保证有最小的冗余度;具有较高的数据独立性;数据可以为多个应用程序共享;对数据的各种操作都由数据库管理系统统一进行。数据库的基本概念数据库
管理系统DataBaseManagementSystem(DBMS)
是位于用户与操作系统之间的一个数据管理软件。基本功能:数据定义功能——DDL数据操纵功能——DML数据控制功能——DCL数据维护功能
装载、转储和恢复、性能分析和监测数据定义语言(DDL),可以方便地定义数据库结构、数据完整性、数据安全性等数据操纵语言(DML),实现对数据的查询、插入、删除和修改等基本操作。在数据库的建立、运行和维护的过程中提供统一的管理和控制,保证数据的安全性、完整性以及多用户环境下的并发控制。包括对数据的装载、转储和恢复以及数据库的性能分析和监测等功能。常见DBMS有Access、Oracle、Informix、Sybase、SQLServer、DB2等。数据库的基本概念数据库
系统DataBaseSystem(DBS)
是指引入了数据库后构成的计算机系统。一般由数据库(DB)、数据库管理系统(DBMS)(及其开发工具)、应用系统、数据库管理员(DBA)组成。DBMS是数据库系统的核心3.2数据模型概念数据模型概念数据模型从用户的角度强调对数据对象的基本表示和概括性描述(包括数据及其联系)不考虑计算机具体实现,与具体的DBMS无关数据模型是对现实世界的数据特征的抽象描述
逻辑数据模型物理数据模型逻辑数据模型从计算机(DBMS)的角度用于在数据库系统实现。概念数据模型要转化为逻辑数据模型,才能在DBMS中实现物理数据模型从计算机(存储介质)的角度每种逻辑数据模型在实现时,都有其对应的物理数据模型的支持3.2.1概念数据模型最典型的概念数据模型是实体联系数据模型(Entity-Relationshipdatamodel,E-R数据模型)。
E-R模型的有关概念
属性实体关键字实体型实体集实体Entity现实世界中可相互区别的事物或活动如一名学生、一次考试等都是实体。实体所具有的特征。例如,学生实体可以具有学号、姓名、性别、所在班级、入学时间等属性。同一类实体的集合。如一个班级的全体同学、一个图书馆的全部藏书。用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。例如,学生(学号,姓名,性别,所在班级,入学时间)就是一个实体型。实体间相互区别的唯一标识,它可以是一个属性也可以是一组属性。如学生实体,每个学生的学号就是该实体的一个关键字。一对一
联系实体集
之间
的联系一对多
联系多对多
联系学校1学校2学校3……学校n校长1校长2校长3……校长n学校校长班级1班级2班级3……班级n学生1学生2学生3……学生n班级学生1:11:n课程1课程2课程3课程4课程5……课程n学生1学生2学生3学生4学生5……学生n课程学生m:nE-R模型的表示方法实体——用矩形表示属性——用椭圆形表示联系——用菱形表示1:11:nm:n举例:网上成绩查询管理系统的E-R图系统功能:学生登陆后,可以查询成绩、给老师留言、下载资源;教师登陆后可以管理任课班级的学生成绩、上传资源、查看学生留言。3.2.2逻辑数据模型
DBMS所支持的数据模型称为逻辑数据模型,便于在数据库系统实现。用概念数据模型表示的数据必须转化为逻辑数据模型表示的数据,才能在DBMS中实现。根据数据及数据之间联系的表示形式的不同,主要有以下几种逻辑数据模型:层次数据模型
网状数据模型关系数据模型面向对象的数据模型用树状结构表示各类实体以及实体间的联系以网状结构表示各类实体以及实体间的联系用二维表格来描述实体以及实体之间的联系用面向对象的观点来描述现实世界的实体。逻辑数据模型——层次模型用树状结构表示各类实体以及实体间的联系。现实世界中许多实体之间的联系本来就呈现一种自然的层次关系,如学校组织结构关系、家族关系等。学校院系处室教研室班级层次模型只能直接处理一对多的实体联系。逻辑数据模型——网状模型网状模型是一个图结构模型,它是对层次模型的扩展,允许有多个节点无双亲,同时也允许一个节点有多个双亲,它更适合描述复杂的现实世界。层次模型实际上是网状模型的一个特例。网状模型举例社团教师学生教研室宿舍专业表示数据之间多对多联系仍感到不便,需要设法转换成两个1对多的联系来解决逻辑数据模型——关系模型在日常事物处理中,经常使用表格如学生名册、成绩单、工资单等来表示各种数据。关系数据模型就是采用二维表格来描述实体以及实体之间的联系,因此,它是一种简单的二维表格结构,每个二维表格称作一个关系。
学号姓名性别状态入学时间最后登陆时间登陆次数39001杨雨潇男在读2007-9-12008-7-21839002崔敏女在读2007-9-12008-7-42539003张进女在读2007-9-12008-7-12039004何晴女在读2007-9-12008-6-301639005李哲男在读2007-9-12008-7-21939006刘晓女在读2007-9-12008-7-2223.2.3物理数据模型在计算机系统的底层对数据进行抽象,它描述数据在存储介质上的存储方式和存取方法,是面向计算机系统的。在设计一个数据库时,首先需要将现实世界抽象得到概念数据模型,然后将概念数据模型转换为逻辑数据模型,最后将逻辑数据模型转换为物理数据模型。最后一步一般由选定的DBMS自动实现。3.3关系数据库采用的DBMS是支持关系数据模型的,据此构建的数据库称为关系数据库相应的DBMS为关系数据库管理系统(RelationalDataBaseManagementSystem,RDBMS)关系数据模型根据概念数据模型设计逻辑数据模型关系数据库主要内容3.3.1关系数据模型TEXTTEXTTEXT包含
三个方面数据结构操作方法完整性
控制机制从三个方面描述用关系(二维表格)表示实体集以及实体集及联系最大限度地保证数据的正确性、合法性和一致性对数据的操作都以对关系进行各种操作的方式来实现数据结构数据
结构规范化的二维表格:任意两行内容不能完全相同不能有名称相同的列每一列都是不可分的,即不允许表中还有表同一列的值取自同一个定义关系模式:学生(学号,姓名,性别,状态,入学时间,最后登陆时间,登陆次数)关系关系模式属性域元组关键字(包括候选键和主键)举例学期(学期号,学期名称,是否当前学期,学期起始时间,学期结束时间)候选键:主键:候选键至少有一个,可以有多个主键只能有一个利用主键的值来识别和区分元组主键的取值必须唯一、不能重复
学期号、学期名、(学期起始时间、学期结束时间)任选一个候选键为主键,如:学期号关键字举例2选课(学号,课程号,成绩,成绩类型)候选键:最小属性集合
(学号,课程号,成绩类型)
其值可以唯一确定一个元组,是选课关系的一个候选键。学号课程号成绩成绩类型08051101060019100805110106002910080511011100185008051101110016910805110206001940080511020600290008051102110019300805110211001801080511030600190008051103060029700805120106001810080512010600298008051201110019500805120111001551候选键?关系的基本运算关系的
基本运算对数据的操作都以对关系进行各种操作(运算)的方式来实现,运算的对象和运算结果都是关系。理论基础:关系代数——如:关系演算——如:IN、EXIST、ANYσπ专门的关系运算——选择、投影、连接学号姓名性别状态入学时间最后登陆时间登陆次数39001杨雨潇男在读2007-9-12008-7-21839002崔敏女在读2007-9-12008-7-42539003张进女在读2007-9-12008-7-12039004何晴女在读2007-9-12008-6-301639005李哲男在读2007-9-12008-7-21939006刘晓女在读2007-9-12008-7-222关系
S1学号姓名性别状态入学时间最后登陆时间登陆次数39001杨雨潇男在读2007-9-12008-7-21839005李哲男在读2007-9-12008-7-219关系
S2从指定的关系中选择
满足给定条件的元组
组成新的关系选择运算投影运算从关系的属性集合中选取指定的若干个属性组成新的关系S2=σ性别=”男”(S1)S3=π学号,姓名,性别(S1)关系
S3连接运算在两个关系的所有元组组合中选择符合指定条件的元组,生成一个新的关系关系
S3学号课程号成绩成绩类型390018850390027770390016761390016900390067820390018800390066920关系S4S6=π学号,课程号,成绩(σ成绩类型=0(S4))关系S6S7=S3S6关系S7数据完整性控制最大限度地保证数据的正确性、合法性和一致性正确性
所谓正确性是指数据库中的数据应该是正确的。例如,某学生的学号在输入时不小心与另一名学生相重复了数据完整性一致性所谓一致性是指有些关系间数据的取值应该相互照应且保持一致。选课关系中学号属性的取值应该参照学生关系中学号的取值,不存在的学生不应该有他的选课记录。合法性有效性是指数据应该是合法有效的,例如,百分制成绩的取值如果输入了165分,显然是不合法的,也是无效的。数据完整性控制最大限度地保证数据的正确性、合法性和一致性实体完整性规则
关系中各个元组的主键不允许取空值、不允许重复。数据完整性用户定义的完整性
允许用户自行定义对数据的约束条件,从语义上保证数据的合法性。参照完整性规则在关系模型中,实体集之间的联系也用关系来表示存在关系与关系间的引用修改一个关系时,为保持数据的一致性,必须对另一个关系进行检查和修改。参照完整性取值参照
或取空值在选课表中插入一个记录
(39078,6,90,0)删除学生表中记录(39001,杨雨潇,
男,在读,2007-9-1,2008-7-2,18)如何保证数据的一致性?3.3.2根据概念数据模型设计关系数据模型网上成绩查询管理系统的E-R图一个实体集转换为一个关系模式,实体集的属性就是关系的属性
院系(院系编号,院系名称)
班级(班号,班级名,学生数,班主任)
学生(学号,登陆密码,姓名,性别,状态,入校时间,毕业时间,退
学时间,注册时间,最后登陆时间,登陆次数)
这里“状态”有3种取值:在读、退学、毕业教师(教师号,登陆密码,姓名,电话,邮箱,QQ号,找回密码问
题,找回密码答案,注册时间,最后登陆时间,登陆次数)课程(课程号,课程名称,学分)
课程资源(资源号,资源名,链接地址,更新时间,资源类型,说明)
学期(学期号,学期名称,是否当前学期,学期起始时间,学期结束时
间)一个1:1联系可以转换为一个独立的关系模式
或与任一方合并班主任(教工号,姓名,性别,职称,学历,所在单位)班级(班号,专业名称,学生数)负责(,,期限)教工号班号班主任(教工号,班号,姓名,性别,职称,学历,
所在单位,期限)与任一方合并期限一个1:n联系可以转换为一个独立的关系模式
或与多方合并
院系(院系编号,院系名称)班级(班号,班级名,学生数,班主任)组成(院系编号,班号)班级(班号,院系编号,班级名,学生数,班主任)两种转换方案学生(学号,登陆密码,姓名,性别,所在班号,状态,入校时间,毕业时间,退学时间,注册时间,最后登陆时间,登陆次数)课程资源(资源号,上传教师号,资源名,链接地址,更新时间,资源类型,说明)另外两种1:n联系转换为:一个m:n联系可以转换为一个独立的关系模式
双方实体的主键以及联系本身的属性均转换为该关系模式的属性。
学生(学号,登陆密码,姓名,性别,状态,入校时
间,毕业时间,退学时间,注册时间,最后登陆
时间,登陆次数)课程(课程号,课程名称,学分)选课(学号,课程号,成绩,成绩类型)多元m:n联系班级(班号,班级名,学生数,班主任)教师(教师号,登陆密码,姓名,电话,邮箱,
QQ号,找回密码问题,找回密码答案,注
册时间,最后登陆时间,登陆次数)课程(课程号,课程名称,学分)学期(学期号,学期名称,是否当前学期,学期
起始时间,学期结束时间)任课(教师号,课程号,学期号,班号)3.3.3关系数据库基于关系数据模型构建的数据库称为关系数据库数据表关系模型中的一个关系,称为一个数据表,如课程关系则转换为course表。字段关系中的一个属性对应数据表中的一个字段,字段也有字段名和字段值之分。如course表中包括cid、cname、ccredit字段。表结构对应关系模式,同时还包含各字段的取值类型、宽度等定义内容。记录关系中的一个元组,在数据表中称为一条记录。数据库一般将某个应用环境中相关数据表构建为一个数据库。3.3.3关系数据库基于关系数据模型构建的数据库称为关系数据库数据表关系模型中的一个关系,称为一个数据表,如课程关系则转换为“课程”数据表。字段关系中的一个属性对应数据表中的一个字段,字段也有字段名和字段值之分。如”课程”表中包括课程号、课程名称、学分字段。表结构对应关系模式,同时还包含各字段的取值类型、宽度等定义内容。记录关系中的一个元组,在数据表中称为一条记录。数据库一般将某个应用环境中相关数据表构建为一个数据库。课程号课程名称学分06001大学计算机基础306002高级语言程序设计3.506009专业导论0.507002工程制图基础3.511001高等数学5.511004线性代数311006大学物理412002大学英语3.513002形式与政策0.5课程数据表关系的规范化S#SNSASSSDDNC#G94001艾民18男机械系田方C18894001艾民18男机械系田方C27494001艾民18男机械系田方C38294001艾民18男机械系田方C46594002白青19女机械系田方C19294002白青19女机械系田方C28294002白青19女机械系田方C37894002白青19女机械系田方C48394003陈冰18男材料系王敏C57294003陈冰18男材料系王敏C29494003陈冰18男材料系王敏C38394003陈冰18男材料系王敏C687关系模型S关系的规范化关系模型S存在的问题:1、冗余大每一个系名和系主任的名字存储的次数等与该系的学生人数乘以每个学生选课的门数2、插入异常一个新系没招生时,系名和系主任名无法插入到数据库中关键字(S#,C#),没有学生,S#无值,所以没有关键字值,无法插入关系的规范化关系模型S存在的问题:3、删除异常当一个系的学生都毕业了,而又没招新生,全部记录都删除了,随之系名和系主任名都被删掉了4、更新异常如果更换系主任,数据库中该系的学生记录应全部修改。如有不慎,就会造成数据不一致,称为更新异常关系的规范化1、规范化在关系模式设计时,为了使关系模式设计的方法趋于完备,出现了关系的规范化理论:第一范式、第二范式、第三范式范式:规范化的关系模式关系的规范化:一个低一级的关系范式,通过模式分解可以转换成若干高一级范式的关系模式的集合,这个过程叫……2、函数依赖:关系模式中属性之间的一种依赖关系
S中S#(学号)和SA(年龄)之间就有一种依赖关系,即当S#的值确定后,SA的值随之被唯一确定了,即称S#函数决定SA或SA函数依赖于S#
定义:设有关系模式R(U),U是属性全集,X和Y均为U的子集。如果R的所有关系r都存在着,对于X的每一个具体值,Y都有唯一的具体值与之对应,则称X函数决定Y,或Y函数依赖于X,X为决定因素,Y是依赖因素,记为X→Y关系的规范化课程号课程名授课学时授课学期J001数据库726课程表课程名→授课学时,即授课学时函数依赖于课程,课程名决定授课学时部分依赖:在关系S中,关键字(S#,C#),属性SN,SA,SS,SD部分函数依赖于关键字,因为决定SN,SA,SS,SD的只有S#,与C#无关,称为部分依赖传递依赖:设有关系模式R,X,Y,Z是R的属性子集,如果X→Y,Y→X,Y→Z,则称Z传递函数依赖于X学号楼号收费10025001204600………………学生住宿收费表关键字学号,学号决定楼号,楼号决定收费,因此学号和收费之间存在的依赖关系为传递依赖关系的规范化第一范式:如果关系模式R,其所有的属性均为简单属性,即每个属性都是不可再分的,则称R属于第一范式,1NF学生选课表符合1NF,但存在更新异常学号课程学分100人工智能3125数据库2150市场营销2175人工智能2190数据库2关系的规范化第二范式:如果一个关系的所有非主关键字属性都完全依赖于整个关键字,不存在着部分依赖,则该关系就属于第二范式,2NF。在关系“学生选课”中存在部分依赖,关键字为(学号,课程),但学分只由课程决定,与学号无关。学号课程学分100人工智能3125数据库2150市场营销2175人工智能2190数据库2关系的规范化第二范式:如果一个关系的所有非主关键字属性都完全依赖于整个关键字,不存在着部分依赖,则该关系就属于第二范式,2NF。在关系“学生选课”中存在部分依赖,关键字为(学号,课程),但学分只由课程决定,与学号无关。学号课程100人工智能125数据库150市场营销175人工智能190数据库课程学分人工智能3数据库2市场营销2符合第二范式的两个关系关系的规范化第三范式:一个关系如果属于第二范式,并且没有传递依赖关系,则该关系就属于第三范式学号楼号1002120413021508楼号收费250046008800消除了传递依赖在数据库设计阶段能够做到使所设计的每个表只描述一个相关的主题,不相关的主题放在不同的表中,这样所设计出的关系表一般都属于第三范式学生表教师表课程表选课表班级表任课表学期表院系表课程资源表图6.15各数据表的表结构各数据表
的表结构结构化查询语言——
SQLSQL命令中的子句是用来修改条件的,用来定义要选定或要操作的数据常见的SQL命令子句:命令描述FROM为从其中选定记录的表命名WHERE指定所选记录必须满足的条件GROUPBY把选定的记录分成特定的组ORDERBY按特定的次序将记录排序结构化查询语言——
SQL查询数据库通过SELECT语句实现,常见的SELECT语句包含六部分,语法如下:SELECT字段表FROM表名WHERE查询条件GROUPBY分组字段ORDERBY字段[ASC|DESC]结构化查询语言——
SQLSELECT字段表包含了查询结果要显示的字段清单,字段之间用逗号分开。若选择表中所有字段用星号(*)代替具体字段;如果字段名或表名中含有空格,则用[]扩起来。结构化查询语言——
SQLFROM表名用于指定一个或多个表。如果选定的字段来自不同的表,则字段名前应加表名前缀。结构化查询语言——
SQLWHERE查询条件用于限制记录的选择,构造查询条件。比较运算符(=,<>,>,<,<=,<=)范围说明(BETWEEN)可选值列表(IN,NOTIN)模式匹配(LIKE)是否为空值(ISNULL)条件的逻辑组合(AND,OR,NOT)数据表关系数据库中如何实现查询关系数据库的标准语言——结构化查询语言(StructuredQueryLanguage,SQL)【例3.1】查询所有课程的课程名称。SELECTcnameFROMcourse
1对cname字段进行投影运算SELECT*FROMcourseSELECTcid,cname,ccreditFROMcourse?【例3.2】查询所有选修了课程的学生的学号,查询结果中去掉重复行。SELECTDISTINCTsc_user
FROMsel_course【例3.3】查询所有姓刘的女学生详细信息
SELECT*FROMstudent
WHEREsnamelike“刘*”ANDsex=”女”
2数据表【例3.4】查询所有选修课程成绩有不及格的学生的学号。
SELECTDISTINCTsc_user
FROMsel_course
WHEREsc_result<60使用WHERE查询满足条件的记录3【例3.5】查询所有课程的详细信息,查询结果按学分高低降序排序。
SELECT*FROMcourse
ORDERBYccreditDESC数据表升序:ASC或缺省4【例3.6-1】查询总共有多少门课程
SELECTCOUNT(*)
FROMcourse其他聚集函数:
MAX()、MIN()、AVG()、SUM()查询结果数据表4【例3.6-2】查询统计出课程号为10的课程的平均值
SELECTAVG(sc_result)as
平均分FROMsel_courseWHEREsc_sub_id=“10”查询结果数据表【例3.7】查询所有选修课程的学生的姓名、选修课程号、成绩。
SELECTsname,sc_sub_id,sc_result
FROMstudent,sel_courseWHEREstudent.suser=
sel_course.sc_user
5连接查询,即两个表按照学号取值相等进行连接运算,然后对sname、sc_sub_id、sc_result字段进行投影运算数据表【例3.8】如果希望例3.7中查询结果显示课程的名称而不是课程号,这就需要再与course表连接,实现3个表的综合查询。
SELECTsname,cname,sc_resultFROMstudent,sel_course,courseWHEREstudent.suser=sel_course.sc_user
ANDsel_course.sc_sub_id=course.cid6数据表3.4ACCESS数据库管理系统Access2003是MicrosoftOffice2003的组件之一,是用户和数据库间的软件接口使用非常简单——可视化工具提供了大量的向导——快速创建对象及应用程序面向对象的、采用事件驱动,可以与其他数据库相连,使用VBA语言作为其应用程序开发工具可处理多种数据信息——Office组件数据、其他DBMS数据创建数据库和数据表数据完整性控制数据查询主要内容3.4.1创建数据库和数据表
创建
数据库数据库文件(.mdb)其中包括所有相关数据和管理这些数据的所有对象。方法:单击【开始】|【所有程序】|【MicrosoftOffice】|【MicrosoftOfficeAccess2003】启动Access2003单击【文件】|【新建…】建立空数据库使用模板向导建立各类数据库建空数据库利用向导建数据库创建
数据表每个关系对应建立一个数据表
两方面的工作:设计表结构和输入数据记录。
(1)打开表结构“设计器”使用设计视图
建立数据表的表结构图6.20设计视图窗口(2)依次输入各个字段的名称,指定字段类型,并对每个字段的含义、取值进行注释说明字段选择栏字段属性字段类型说明文本用来存放不需要计算的数据,可以为数字、文字,例如学号、电话备注也称长文本,存放说明性文字数字需要运算的数值数据,如成绩、次数、年龄日期/时间存放日期和时间数据货币存放货币数值自动编号在增加记录时,其值能依次自动加1是/否存放逻辑型数据,如婚否、Yes/No、On/OffOLE对象将对象(如电子表格、文件、图形、声音等)链接或嵌入表中超链接存放超链接数据查阅向导这是与使用向导有关的字段字段选择栏字段属性字段属性说明字段大小可以指定字段中文本或数字的范围,文本缺省长度为50,最多255个字符,备注型最多65536个,数值为长整型。应该尽可能设置最小的字段大小,因为其需要的内存更少,数据处理速度更快。格式可以选择或输入格式串来定义字段中数据的格式小数位数指定数字或货币数值的小数点位数输入掩码用于设置字段数据的输入模式,例如可以为“电话号码”字段设置一个输入掩码(0000)-(00000000),则在用户输入该字段内容时,会显示(____)-(________),提示用户正确输入。通常使用输入掩码向导设置属性更方便。标题可以定义字段的别名,作为创建窗体和报表时数据单中使用的标签。如字段名为sname,可将标题设置为“姓名”默认值该值在新建记录时会自动输入到字段中,也可以更改。例如,将states(状态)字段的默认值设为“在读”。必填字段用于设置这个字段是否必须填写,设置成“是”时,这个字段不能空着允许空字符串如果为“是”,则该字段可以接受空字符串为有效输入项索引可以选择是否为这个字段建立索引或者是否允许建立索引,建立索引的好处是,按此字段进行查询时会提高查询和排序速度,但同时也加大了系统维护的开销。(1)打开表结构“设计器”使用设计视图
建立数据表的表结构(2)依次输入各个字段的名称,指定字段类型,
并对每个字段的含义、取值进行注释说明(3)定义表的主键选中字段后单击工具栏
“主键”按钮(4)保存并命名数据表(1)双击数据表,打开数据表视图窗口在数据表视图窗口
输入数据记录(2)依次输入各字段值,完成所有记录的录入(3)关闭窗口结束3.4.2数据完整性控制用户定义的完整性实体完整性通过设置主键,使其取值既不能为空也不能重复,以此保证记录(即实体)的正确性。
通过定义指定字段的“有效性规则”属性,对字段的取值设置约束条件,保证记录的合法性。参照完整性是指对存在引用关系的两个关系(数据表)的约束,通过建立引用关系保证数据的一致性。参照完整性示例取值参照只要建立了二者之间的引用关系,就能保证数据的一致性:在选课表中插入一个记录
(39078,6,90,0)——拒绝修改学生表中的学生学号——同步修改选课表中相应学号删除学生表中记录(39001,杨雨潇,
男,在读,2007-9-1,2008-7-2,18)——提
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广西职教高考三套语文模拟试卷信度、效度、难度、区分度四维实证分析
- Agent测试用例设计课程设计
- OpenCV人脸识别实战方案课程设计
- 菜籽油课程设计
- UART通信模块FPGA设计实战课程设计
- 北京鼎石学校课程设计
- 常微分课程设计摘要
- 基于RAG的知识问答系统设计课程设计
- 基于NLP的情感分析工具在介绍课程设计
- 深度强化学习游戏AIAtari深度优化课程设计
- 市场培训之地推基础培训
- 课堂管理的方法和技巧
- 出版从业考试财务知识点及答案解析
- 耳鼻喉科感染预防综合措施
- 喷漆设备租借合同范本
- 2025年斗轮机司机题库及答案(可下载)
- 食品生产车间三级安全培训课件
- (2024版)人教版 小学体育与健康 一年级全一册 教学设计
- 2024版2025秋季新人教版三年级上册数学全册核心素养教案教学设计
- 红细胞计数课件
- 二手手机回收协议合同
评论
0/150
提交评论