数据库基础知识
- 格式:docx
- 大小:36.48 KB
- 文档页数:7
数据库基础知识
一、教学目标
1. 关系数据库概念。
2. ACCESS基本概念。
3. SQL结构化查询语言语法
二、课时分配
本项目共2个任务,建议安排3课时。
三、教学重点
了解数据库中的一些基本概念;掌握查询、插入、更新、删除等SQL结构化查询语言的语法。
四、教学内容
任务1 数据库简介
数据库一般被定义为用于存储大量数据的区域,它通常由一个表或多个表组成。工作原理如图所示。
常见的数据库有:
层次数据库;
网状数据库;
关系数据库。
阶段1 关系数据库概念
1.表格
表格(或简称表)表示了用户的特定类型(Type)的一些实体。表头由一些属性名(Attribute Name)组成,每个属性名对应于一列。在表中属性名必须唯一,不允许重名。表体是由一些行、元组(tuple)或记录(record)组成。一个元组对应于传统的文件结构中的一个记录,一个记录含有若干个域(field)用以存储属性值(Attribute value)。一个元组对应于一个“用户”实体的出现(occurrence)。表体中每一行和某一列的交叉点(相当于记录中的域)上保存一个属性值。这个属性值叫做这一行(或这个实体出现)的相应属性值。表体中每一列可以保存的值对应于某种属性类型(Type of Attribute),也就是说,这一列的属性值只能取这个属性类型的值。某个属性所能取的所有值的集合叫做这个属性的值域(Domain of Attribute)。
2.表名、表头和表体
表名、表头和表体在关系模型中具有不同的作用或功能,因而也具有完全不同的性质。表头是一个属性的集合,它规定了表的结构。表体是一个特殊的集体,称作为关系(relation)。“关系模型”中的“关系”一词就是指表体中的这个数学关系。
3.关系的数学定义
关系模型是建立在集合论(Set Theory)的基础之上的。
定义1:域(Domain)是值(Value)的集合。
例如:整数、实数、{0,1,2,3}、{真,假}等等都可以是域;{(北京,010),(哈尔滨,0451)}是一个域,其值为(北京,010)和(哈尔滨,0451),其值是有结构的。域若是一个有限集,其元素的个数叫做域的基数。
定义2:给定一组域D1,D2,…,Dn,这些域中有些域可以是相同的。D1,D2,…,Dn的笛卡尔乘积(Cartesian Product)为D1×D2×…×Dn={(d1,d2,…,dn),di∈Di,i=1,2,…,n},其中每一个元素(d1,d2,…,dn)叫做一个n元组(ntuple),或简为元组,元组(d1,d2,…,dn)中的值di叫做该元组的第i个分量(component)。
定义3:D1×D2×…×Dn的子集叫作域D1,D2,…,Dn上的关系(Relation),用R(D1,D2,…,Dn)表示,这里R表示关系的名字,n是关系的度(或元数,Degree)。
关系是笛卡尔乘积的子集。但这只是关系的数学定义。在实际中,一般说来只有取某一子集才有一定的意义。
总之,数据库的关系具有以下性质:
(1)列是同质的(Homogeneous),即每一列中的分量均是同一类型的数据,即均来自同一个域。
(2)不同的列可以出自同一个域,每一列称为一个属性,要给予不同的列不同的属性名。
(3)列的顺序是无所谓的,即列的次序可以变换。但顺序一旦固定,就不再变化,不能导致冲突发生。
(4)任意两个元组不能完全相同。
(5)行的顺序是无所谓的,即行的次序可以交换。
(6)每一分量必须是不可分的数据项。
4.关系模型
关系模型由三部分组成:数据结构(即关系)、关系操作、关系的完整性。
关系模型的三类完整性:
(1)实体完整性(Entity Integrity);
(2)参照完整性(Referential Integrity);
(3)用户定义的完整性(User Defined Integrity)。
5.关系数据库语言概述
关系数据库语言分三类:数据描述语言DDL、数据操纵语言DML和数据控制语言DCL。
阶段2 常用数据库简介
1.SQL Server数据库
SQL是Structure Query Language的缩写,它是一种标准的关系型数据库查询语言,通过SQL语句的执行可以对数据库内容(表及记录)进行定义、修改或查询。SQL语言可分为两类,一类是与数据定义有关的称为DDL(Data Define Language)数据定义语言,另一类则是与表内的记录存取有关的称为DML(Data Manipulation Language)数据处理语言。
DDL数据定义语言
DDL语言是处理与数据库内数据有关的语句,它的指令范围包含自定义数据类型、添加表、修改表、建立表索引、设置Primary Key等操作。
DML数据处理语言
DML语言主要是用来处理与数据表记录内容有关的操作,如记录的查询、添加、修改及删除等操作。
2.Access数据库
Access数据库是Office办公软件中一个组成部分。是世界上最为流行的中小型桌面数据库管理系统。其对关系数据处理很方便,也很容易上手。对于网页中动态数据的交互设计有着显著的优越性。
阶段3 Access的基本概念 进入Access 2003,打开一个示例数据库,在这个界面的“对象”栏中,包含有Access
2003的七个对象,如图所示。另在“组”栏中,可以包含数据库中不同类型对象的快捷方式的列表,通过创建组,并将对象添加到组,从而创建了相关对象的快捷方式集合。
Access 2003所提供的对象均存放在同一个数据库文件(.mdb)中。Access 2003中各对象的关系如图所示。
1.表
表是Access 2003中所有其他对象的基础,因为表存储了其他对象用来在Access 2003中执行任务和活动的数据。
2.查询
数据库的主要目的是存储和提取信息,在输入数据后,信息可以立即从数据库中获取,也可以在以后再获取这些信息。查询成为了数据库操作的一个重要内容。
Access 2003提供了三种查询方式。
(1)交叉数据表查询
查询数据不仅要在数据表中找到特定的字段、记录,有时还需要对数据表进行统计、摘要。如求和、计数、求平均值等,这样就需要交叉数据表查询方式。
(2)动作查询
动作查询,也称为操作查询,可以运用一个动作同时修改多个记录,或者对数据表进行统一修改。动作查询有4种,生成表、删除、添加和更新。
(3)参数查询
参数即条件。参数查询是选择查询的一种,指从一张或多张表中查询那些符合条件的数据信息,并可以为它们设置查询条件。
3.窗体
窗体向用户提供一个交互式的图形界面,用于进行数据的输入、显示及应用程序的执行控制。在窗体中可以运行宏和模块,以实现更加复杂的功能
4.报表
报表用来将选定的数据信息进行格式化显示和打印。报表可以基于某一数据表,也可以基于某一查询结果,这个查询结果可以是在多个表之间的关系查询结果集。
5.宏
宏是若干个操作的集合,用来简化一些经常性的操作。用户可以设计一个宏来控制一系列的操作,当执行这个宏时,就会按这个宏的定义依次执行相应的操作。宏可以用来打开并执行查询、打开表、打开窗体、打印、显示报表、修改数据及统计信息、修改记录、修改数据表中的数据、插入记录、删除记录、关闭数据库等操作,也可以运行另一个宏或模块。
6.模块
模块是用Access 2003所提供的VBA(Visual Basic for Application)语言编写的程序段。模块有两种基本类型:类模块和标准模块。模块中的每一个过程都可以是一个函数过程或一个子程序。模块可以与报表、窗体等对象结合使用,以建立完整的应用程序。VBA语言是VB的一个子集。
7.Web页
Web页是Access 2003提供的新功能,它使Access 2003与Internet紧密结合起来。
任务2 SQL结构化查询语言
阶段1 SELECT语句
SELECT语句:指示Microsoft Access数据库引擎将数据库中的信息作为一组记录返回。语法:
SELECT[predicate]{*|table.*|[table.]field1[ASalias1][,[table.]field2[ASalias2][,…]]}FROM table expression[,…][IN external database][WHERE…][GROUPBY…][HAVING…][ORDERBY…][WITH OWNER ACCESS OPTION]
阶段2 INSERT INTO语句
INSERT INTO语句:将一个或多个记录添加到表中。该语句称为追加查询。语法:
多记录追加查询:
INSERT INTO target[(field1[,field2[,…]])][IN external database]SELECT[source.]field1[,field2[,…]FROMtableexpression
单记录追加查询:
INSERT INTO target[(field1[,field2[,…]])]VALUES(value1[,value2[,…])
阶段3 UPDATE语句
UPDATE语句:创建一个更新查询,以便基于特定的条件更改指定表的字段值。语法:
UPDATE table SET newvalue WHERE criteria;
阶段4 DELETE语句
DELETE语句:创建一个删除查询,用于从FROM子句中列出的一个或多个表中删除满足WHERE子句的记录。语法:
DELETE[table.*]FROM table WHERE criteria
阶段5 INNER JOIN
INNER JOIN操作:只要两个表的公共字段有匹配值,就将这两个表中的记录组合起来。语法:
FROM table1 INNER JOIN table2 ON table1.field1 compopr table2.field2
阶段6 谓词用法
ALL、DISTINCT、DISTINCTROW和TOP谓词:指定使用SQL查询选择的记录。语法:
SELECT[ALL|DISTINCT|DISTINCTROW|[TOPn[PERCENT]]]FROM table
阶段7 WHERE子句
WHERE子句:指定FROM子句所列出的表中的哪些记录会受SELECT、UPDATE或DELETE语句的影响。语法:
SELECT fieldlistFROM table expressionWHERE criteria
阶段8 ORDER BY子句
ORDER BY子句:以指定字段为依据,对查询产生的记录进行升序或降序排序。语法:
SELECT fieldlist FROM table WHERE select criteria[ORDER BY field1[ASC|DESC][,field2[ASC|DESC]][,…]]]