数据库SQL复习资料2011.7.1
sql复习资料整理

SQL复习资料整理SQL(Structured Query Language)结构化查询语言,是一种专门用于管理和操作关系型数据库的编程语言。
在数据库领域中,SQL可以用来存储、修改、删除和检索关系型数据库中的数据。
因此,学习和掌握SQL是非常重要的。
本文将为您整理一些SQL复习资料,帮助您更好地学习和掌握SQL语言。
SQL基础知识在学习SQL之前,您应该首先了解SQL的基础知识,包括以下几个方面:1.SQL的历史和发展2.SQL的标准化3.关系型数据库概念4.SQL的核心语句和数据类型SQL核心语句SQL的核心语句包括数据查询语句(SELECT)、数据添加语句(INSERT)、数据更新语句(UPDATE)、数据删除语句(DELETE)。
以下是每个语句的基本用法:SELECT语句SELECT语句用于从表中检索数据。
它的基本语法如下:SELECT column1, column2, ... FROM table_name;你还可以在SELECT语句中使用WHERE子句来过滤检索结果,如下所示:SELECT column1, column2, ... FROM table_name WHERE condition;其中,condition是一个条件表达式,用于过滤检索结果。
INSERT语句INSERT语句用于将数据添加到表中。
它的基本语法如下:INSERT INTO table_name (column1, column2, ...) VALUES (value1, value 2, ...);其中,column1、column2是表的列名,value1、value2是要插入的值。
UPDATE语句UPDATE语句用于更新表中的数据。
它的基本语法如下:UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;其中,condition是要更新的数据所匹配的条件。
SQL复习资料

(一)SQL概述1.SQL的基本概况1)含义:SQL是structured query languge的缩写,它是关系数据库的标准数据语言,所有的关系数据库管理系统都支持。
2)功能:数据查询、数据操作和数据定义2.特点1)一体化:包括数据定义、查询和操作等方面功能,可以完成数据库活动中的全部工作;2)高度非过程化:只需告诉计算机用户“做什么”,SQL便可自动完成全部工作;3)非常简洁:只有为数不多的几条命令组成;4)它可以直接以命令方式使用,也可以嵌入到程序设计语言中以程序方式使用。
3.主要短语及其含义1)select-说明要查询的数据2)from-说明查询的数据来自哪些表,可对单表或多表进行查询3)where-说明查询条件,即选择元组的条件4)group by-用于对查询进行分组,可用它对数据进行分组汇总5)having-必须跟group by短语一起使用,用来限定分组必须满足的条件6)order by-用来对查询的结果进行排序.简单查询1)适用范围:即单表查询,查询的字段信息和查询条件都来自于同一张表2)语法格式:select 字段名1,…字段名n from 表名 where 条件式3)查询细节:ü distinct 去掉查询结果中的重复值ü若查询某张表的全部字段,则可把select后的字段名全部用通配符*代替即可ü union并运算可把两个select语句的查询结果合并成一个查询结果(要求是两个查询结果要具有相同的字段个数,并且对应字段的值要出自同一个值域,即具有相同的数据类型和取值范围)ü查询去向:into array 数组名——将查询结果存放于数组中into cursor 临时表文件名——将查询结果存放于临时只读文件,关闭时自动删除into dbf/table 自由表文件名——将查询结果存放于永久表中to file 文本文件名——将查询结果存放于文本文件中2.简单的联接查询1)适用范围:查询的字段信息或条件来自于多张表2)语法格式:select 字段名1,…字段名n from 表名1,…表名n where 联接条件and 其他条件3.嵌套查询1)适用范围:查询的字段信息出自于同一张表,而查询条件出自于其他表2)语法格式:select 字段名1,…字段名n from 表名1 where 外部关键字 in (select 外部关键字 from 表名2 where 条件)3)查询细节:ü几个特殊的运算符:between…and…用于查询满足某个值域范围内的记录;like用于查询与指定字段值相匹配的记录(like后所指定的字段值一定是个字符型数据;通配符%表示0个或多个字符,“_”只表示一个字符)ü排序:order by 字段名1 asce/desc,…字段名n asce/desc注意:系统默认升序,asce可省略,允许按一个或多个字段对查询结果排序ü简单计算查询:count()-计数 sum()-求和,所指字段是N型 avg()-求平均数,所指字段是N型 max()-求最大值,所指字段是N型min()-求最小值,所指字段是N型ü分组与计算查询:group by 字段名1,…字段名n having 条件表达式(注意:having 必须和group by一起使用,因为它是对分组后的结果进一步进行筛选,having条件和where 条件不矛盾,在select语句查询中是先用where子句限定元组,然后进行分组,最后再用having子句限定分组结果)ü利用空值查询:is null/is not nullü内外层互相嵌套查询:内层查询的条件需要外层查询提供值,而外层查询的条件需要内层查询的结果ü使用量词和谓词的查询:表达式运算符 any/some/all(select子查询)——其中any和some表任意一个,all 表示全部[not] exists(select子查询)——exists表示存在ü虚字段:即原表中并无此字段,是通过函数或者表达式计算所得出的字段名;其格式为:表达式/函数 as 虚字段名ü显示部分结果:top 表达式[percent] order by 字段名1,…字段名n注意:不使用percent时,在1-32767之间取值,说明显示前几条记录使用percent时,则在0.01-99.99之间取值,说明显示前百分之几的记录并且top短语要与order by短语同时使用才有效4.内联接查询:超级联接查询的一种1)适用范围:查询的字段名或查询条件来自于多张表2)语法格式:select 字段名1,…字段名n from 表名1 inner join 表名2 on 联接条件 where 条件(三)SQL的操作功能1.插入功能1)标准格式:insert into 表名(字段名1,…字段名n)values(字段值1,…字段值n)注意:此命令格式表示向表中插入记录,当插入的不是完整的记录时必须指明字段2)特殊格式:insert into 表名 from array 数组名注意:此命令格式表示从指定的数组向表中插入记录2.更新功能1)格式:update 表名 set 字段名1=表达式1,…字段名n=表达式n where 条件式注意:使用where表示更新满足条件的记录,不使用where则更新全部记录2)注意update命令与replace命令的区别:² update可对一表和多表操作,replace只能对当前一表操作² update用where接条件表达式,replace用for接条件表达式² update用=接表达式,replace用with接表达式² update用set接字段名,replace的字段名前不加set² update不用where子句就可更新全部记录,replace有all无for条件才是更新全部记录3.删除功能1)格式:delete from 表名 where 条件注意:此命令表示逻辑删除表中相应的记录,有where条件时表示逻辑删除表中满足条件的记录2)本格式可用于一表与多表,而delete for条件则只可用于当前表(四)SQL的定义功能1.表的定义,即建立表1)格式:create table 表名(字段名1 字段类型(宽度),…字段名n 字段类型(宽度))2)注意:2.表的删除1)格式:drop table 表文件名2)注意:3.表结构的修改1)添加/删除表中字段:alter table 表名 add/drop column 字段名字段类型(宽度)注意:只能一次添加一个字段,并且如果是删除字段则不需要写宽度2)修改字段类型及宽度:alter table 表名 alter 字段名新类型(新宽度)3)更新字段名:alter table 表名 rename column 原字段名 to 新字段名4)修改字段有效性:alter table 表名 alter column 字段名[null/not null][set default 表达式][set check 逻辑表达式[error 字符表达式]]alter table 表名 alter column 字段名[drop default][drop check]5)添加/删除表中表中索引:alter table 表名 add primary key/unique字段名 tag 索引名注意:primary key是主索引;unique是候选索引。
SQL数据库复习资料

试述事务的概念及事务的 4 个特性。
答:事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作的工作单位。
位。
事务具有 4 个特性:原子性(Atomicity )、一致性(consistency )、隔离性( Isolation )和持续性(Durability )。
这 4 个特性也简称为ACID 特性。
原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。
一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。
隔离性:一个事务的执行不能被其他事务干扰。
即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。
持续性:持续性也称永久性(Perfnanence ) ,指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。
接下来的其他操作或故障不应该对其执行结果有任何影响。
3 .数据库中为什么要有恢复子系统?它的功能是什么?答:计算机系统中硬件的故障、软件的错误、操作员的失误以及恶意的破坏是不可避免的,这些故障轻则造成运行事务非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失,因此必须要有恢复子系统。
恢复子系统的功能是:把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态)。
5 .数据库恢复的基本技术有哪些?答:数据转储和登录日志文件是数据库恢复的基本技术。
当系统运行过程中发生故障,利用转储的数据库后备副本和日志文件就可以将数据库恢复到故障前的某个一致性状态。
1.在数据库中为什么要并发控制?答:数据库是共享资源,通常有许多个事务同时在运行。
当多个事务并发地存取数据库时就会产生同时读取和/或修改同一数据的情况。
若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性。
所以数据库管理系统必须提供并发控制机制。
2 .并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况?答:并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读“脏’夕数据。
SQL复习重点

关系型数据库及SQL语言复习重点第一章:数据库基础知识1.计算机化数据库的优点2.数据库模型三种:a)层次模型: 一个父代可以有多个子代,一个子代只能有一个父代b)网状模型: 数据存储在集合结构中,一个父代可以有多个子代,一个子代也可有多个父代c)关系模型: 以表的形式存储数据,实体互相独立,但之间又有关系3.关系型数据库:IBM的科学家Codd发明关系型数据库,被称为关系型数据库之父4.DBMS = 数据库+访问数据库的程序5.RDBMS:关系型数据库管理系统6.三大数据完整性:a)实体完整性:用主键来实现, 保证数据的唯一性、非空b)引用完整性:用外键来实现,保证数据的一致性c)域的完整性:通过数据类型、数据取值范围、数据格式来实现,保证数据的有效性7.表:存贮数据的容器,由二维行(记录)、列(字段、属性)组成8.SQL(Structural Query Language)语言的分类:遵循ANSI/ISO SQL-92 的国际标准a)DDL(Data Definition Language) 数据定义语言: Create, Alter, Drop, AddConstraintb)DML(Data Manipulation Language) 数据操作语言: Insert, Update, Delete,Truncatec)DQL(Data Query Language) 数据查询语言: Select from, Where, Group by, Orderby, Compute By, Having, inner join, outer join, union, like, in between, any, all, exists, etc.d)DCL(Data Control Language) 数据控制语言: 用于管理对数据库和数据库对象的权限,如Grant, Revokee)CCL(Common Command Language) 通用命令语言: 用来在数据库中进行高效率的搜索第二章:使用Access1.Access是一个小型单机版的关系型数据库管理系统2.1个Access数据库只有一个文件,后缀mdb3.Access数据库有七个对象:表、查询、窗体、报表、页、宏、模块4.Access提供的数据类型,其中文本型数据类型默认的字段长度为505.在Access里实现:a)实体完整性:主键b)引用完整性:外键,建立关系(实施参照完整性)c)域完整性:数据类型、输入掩码、默认值、有效性规则6.导入、导出数据:可以从其他Access数据库、Excel、DBbase、Outlook、Html、Lotus、文本(Txt)、ODBC等导入、导出数据7.设置数据库密码8.压缩和修复数据库第三章:SQL Server数据库的管理1.SQL Server 2000的特征2.SQL Server 2000的安装及软硬件要求3.4.5.数据库类型:系统数据库和用户数据库系统数据库:master,model,msdb,tempdb∙master:它记录所有的登录帐户和系统配置设置。
sql复习资料

问题一:关于存储过程的注意事项1、其他数据库对象均可在存储过程中创建。
可以引用在同一存储过程中创建的对象,只要引用时已经创建了该对象即可。
2、可以在存储过程内引用临时表。
3、如果在存储过程内创建本地临时表,则临时表仅为该存储过程而存在;退出该存储过程后,临时表将消失。
4、如果执行的存储过程将调用另一个存储过程,则被调用的存储过程可以访问由第一个存储过程创建的所有对象,包括临时表在内。
5、如果执行对远程Microsoft SQL Server 2005 实例进行更改的远程存储过程,则不能回滚这些更改。
远程存储过程不参与事务处理。
6、存储过程中的参数的最大数目为2100。
7、存储过程中的局部变量的最大数目仅受可用内存的限制。
8、根据可用内存的不同,存储过程最大可达128 MB。
问题二:安装SQL2008的基本条件:答:Microsoft SQL Server 2008 的SQL Server Database Engine 组件是存储、处理数据和保证数据安全的核心服务,并提供复制、全文搜索功能,以及管理关系型和XML数据服务。
数据库引擎提供受控的访问和快速事务处理,以满足企业中要求极高、大量使用数据的应用程序的要求。
数据库引擎支持单一计算机上的一个或多个服务器实例。
Microsoft SQL Server 2005 Analysis Services (SSAS) 为商业智能应用程序提供联机分析处理(OLAP) 和数据挖掘功能。
Analysis Services 允许你设计、创建和管理包含从其他数据源(如关系数据库)聚合的数据的多维结构,以实现对OLAP 的支持。
对于数据挖掘应用程序,Analysis Services 允许你设计、创建和可视化处理那些通过使用各种行业标准数据挖掘算法,并根据其他数据源构造出来的数据挖掘模型。
Microsoft SQL Server 2005 Integration Services (SSIS) 是生成高性能数据集成解决方案(包括数据仓库的提取、转换和加载(ETL) 包)的平台。
SQL数据库优化复习资料

SQL数据库优化复习资料一、理解数据库架构首先,要明白 SQL 数据库的基本架构。
这包括表、索引、存储过程、视图等组件。
表是数据存储的核心,索引用于加快数据的检索速度,存储过程可以封装复杂的业务逻辑,视图则提供了一种以特定方式查看数据的途径。
在设计数据库表时,要遵循规范化原则,如第一范式(1NF)、第二范式(2NF)、第三范式(3NF)等。
规范化可以减少数据冗余,提高数据的一致性和完整性,但过度规范化有时可能会影响查询性能,因此需要在规范化和性能之间找到平衡。
二、优化查询语句查询语句是与数据库交互的最常见方式,优化查询语句是提高数据库性能的关键。
1、避免全表扫描尽量使用索引来检索数据,避免在没有索引的列上进行查询操作,以免导致全表扫描。
例如,如果经常根据某个列的值进行查询,那么应该在该列上创建索引。
2、限制返回的行数只获取您真正需要的数据,避免使用`SELECT `语句,而是明确指定所需的列。
通过`LIMIT` 子句限制返回的行数,可以减少数据传输量和处理时间。
3、合理使用连接(JOIN)在多表关联查询时,要选择合适的连接类型(内连接、外连接、交叉连接等),并确保连接条件准确无误。
过多的表连接可能会导致性能下降,因此要谨慎设计。
4、避免子查询子查询在某些情况下可能会导致性能问题,可以尝试使用连接或其他方式来替代。
5、优化聚合函数在使用聚合函数(如`SUM`、`AVG`、`COUNT` 等)时,要确保相关的列有合适的索引,以提高计算效率。
三、索引优化索引是提高查询性能的重要手段,但不正确的索引使用也可能会带来负面影响。
1、选择合适的索引列通常,选择经常用于查询、连接、排序和分组的列作为索引列。
但对于数据量较大且值分布不均匀的列,创建索引可能并不一定能提高性能。
2、避免过多的索引过多的索引会增加数据插入、更新和删除的开销,因为每次数据操作都需要同时维护相关的索引。
3、复合索引当多个列经常一起用于查询条件时,可以创建复合索引。
sql复习材料及factory数据库答案

1、什么是数据库?数据库是长期存储在计算机内、有组织的、可共享的数据集合。
数据库是按某种数据模型进行组织的,存放在外存储器上,且可被多个用户同时使用。
因此,数据库具有较小的冗余度、较高的数据独立性和易扩展性。
2、数据库管理系统有哪些功能?数据库管理系统(DBMS)是位于操作系统与用户之间的一个数据管理软件,它的主要功能包括以下几个方面;数据库定义功能DBMS提供相应数据定义语言来定义数据库结构,他们是刻画数据库的框架,并被保存在数据字典中。
数据字典是DBMS存取和管理数据的基本依据。
数据存取功能DBMS提供数据操纵语言实现对数据库数据的基本存取操作:检索、插入、修改和删除。
数据库运行管理功能DBMS提供数据控制功能,即数据的安全性、完整性和并发控制等对数据库运行进行有效的控制和管理,以确保数据库数据正确有效和数据库系统的有效运行。
数据库的建立和维护功能包括数据库初始数据的装入,书局哭得转储、恢复、重组织,系统性能监视、分析等功能。
这些功能大都由DBMS的实用程序来完成。
数据通信功能DBMS提供处理数据的传输,实现用户程序与DBMS之间的通信。
通常与操作系统协调完成。
3、在安装SQL Server 2000时,“仅客户端工具”、“服务器和客户端工具”及“仅连接”等3种安装定义有什么差别?仅客户端工具仅安装客户端关系数据库管理工具。
此选项含管理SQL Server的客户端工具和客户端连接组件。
服务器和客户端工具该选项执行安装股务器和客户端工具以创建具有管理能力的关系数据库服务器。
选择“服务器和客户端工具”选项将显示所有附加的安装选项。
仅连接仅安装关系数据库客户端连接组件,包括SQL Server2000命名实例所需的MDAC2.6(Micorsoft数据访问组件)。
该选项只提供连接工具,不提供客户端工具或其他组件。
4、一个数据库中包含哪几种文件?数据库具有惟一的主数据文件和一个或多个事务日志文件,数据库文件可能还有次数据文件。
数据库复习资料(SQL)

数据库复习资料第一章绪论:一、数据库相关基本概念:1系统中,凡是能被计算机存储并处理的数字、字符、图形和声音等统称为数据。
23、数据库:数据库是存放数据的仓库,指长期储存在计算机内,有组织的、可共享的大量数据集合。
4护,借助于操作系统实现对数据的存储管理。
5二、数据库系统的概念、组成和模式结构(三级):1、概念:数据库系统指在计算机系统中引入数据库后的系统构成。
2、组成:①数据库(DB):数据库系统的操作对象;数据具有集中性和共享性。
②数据库管理系统(DBMS):负责对数据库进行管理的软件系统。
③用户:三类用户(最终用户、应用程序员、数据库管理员DBA)。
④计算机系统3、模式结构(三级):①模式(逻辑模式):数据库中全部数据的逻辑结构和特性的描述,是所有用户的公共视图。
它与具体的应用程序及使用的高级程序设计语言无关。
通常以某一种数据模型为基础。
②外模式(用户模式):是数据用户看到的数据视图,即与某一应用有关的数据的逻辑表示。
通常是模式的子集,不同用户的外模式的描述是不同的。
③内模式(存储模式):是数据在数据库系统内部的表示,即对数据的物理结构和存储方式的描述。
三、数据处理发展历史,尤其在数据库系统阶段,有哪些特点:1、手工处理阶段:数据的管理者:应用程序,数据不保存数据面向的对象:某一应用程序数据的共享程度:无共享、冗余度极大数据的独立性:不独立,完全依赖于程序数据的结构化:无结构数据控制能力:应用程序自己控制1.应用程序和数据之间的依赖性太强,独立性差。
2.数据和数据之间存在许多重复数据,造成大量数据冗余。
2、文件阶段:数据的管理者:文件系统,数据可长期保存数据面向的对象:某一应用程序数据的共享程度:共享性差、冗余度大数据的结构化:记录内有结构,整体无结构数据的独立性:独立性差,数据的逻辑结构改变必须修改应用程序数据控制能力:应用程序自己控制不同的应用程序很难共享同一数据文件,也就是说数据独立性仍然较差,数据冗余度较大。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1章数据库基础Part I 基本概念数据库的基本概念•数据和信息(Data and Information)•数据是描述现实世界中各种具体事物或抽象概念的、可存储并具有明确意义的信息。
•数据库(DB)——教材P1•数据库管理系统(DBMS)——教材P1•数据库管理系统是一个通用的软件系统,它能对数据库进行有效的管理,为数据的访问和保护提供强大的处理功能,同时也为用户提供一个应用、管理和操作的平台,使其能够方便、快捷地创建、维护、检索、存取和处理数据库中的信息。
基本概念-数据和信息描述事物的符号记录称为数据(Data,萨师煊、王珊)。
❑数据有多种表现形式,可以是数字、文字、图形、图像、声音和语言等;❑数据经过数字化后被输入到计算机中。
对数据的解释称为信息(Information)。
❑数据的形式还不能表达其内容,需要经过解释;❑数据是信息的载体,信息是数据的内涵,是对数据语义的解释。
基本概念-什么是数据库?数据库(Database, DB)是长期存储在计算机内、有组织、可共享的数据集合。
典型地,这些数据描述了一个或多个相关组织的活动。
❑数据是持久的❑数据是按一定的数据模型组织、描述和储存❑数据是集成的❑数据是共享的基本概念-什么是数据库管理系统?在数据库和数据库用户之间有一软件层,它通常被称为数据库管理系统(Database Management System, DBMS) ,是一个帮助用户创建和管理数据的应用程序集合。
❑访问数据库的请求都是由DBMS来处理的;❑DBMS提供了许多对数据操作的实用程序,如增加和删除表,检索或更新数据;❑DBMS提供的基本功能为数据库用户屏蔽了物理层的细节。
❑产品与工具▪Microsoft Access 2000(简单桌面应用)▪Microsoft SQL Server 2005▪Mysql(开源)▪Oracle8i, 9i, 10g▪DB2, Informix▪SybaseDBMS的功能❑数据定义功能用户一般通过数据定义语言(DDL)对数据库中的数据对象进行定义。
❑数据操作功能用户一般使用数据操作语言(DML)操作数据实现对数据库的基本操作,如查询、插入、删除和修改等。
❑数据库的运行管理数据库在建立、运行和维护时由DBMS统一管理、统一控制,以保证数据的安全性、完整性、多用户数据的并发使用及发生故障后的系统恢复。
❑数据库的建立和维护它包括数据库数据导入、导出,数据库的转储,重组织和性能监视、分析功能等。
这些功能通常是由一些实用程序完成的DBMS的优点⏹数据独立性(Data Independence),指应用程序独立于数据的逻辑表示与物理存储。
(通过数据库的三级模式结构实现)⏹高效的数据访问(Efficient Data Access),由从事系统软件研制的专门人员编写。
⏹数据完整性与安全性(Data Integrity and Security)⏹数据的集中管理(Data Administration)⏹并发访问与故障恢复(Concurrent Access and Crash Recovery)⏹缩短应用开发时间(Reducing Application Development Time)⏹思考:是否所有应用系统都必须基于DBMS进行开发?☐苛刻的实时(Real-Time)环境☐操作少、代码要求精练☐操纵的数据是非结构化或半结构化的数据Part II 数据模型数据模型在数据库中我们是用数据模型这个工具来抽象、表示和处理现实世界中的实体以及实体之间的联系。
简单地说,数据模型就是现实世界的模拟,现有的数据库均是基于某种数据模型的,数据模型是数据库的核心。
❑数据模型的定义❑数据模型三要素❑数据模型的分类❑模式、实例和数据库状态数据模型-数据模型定义数据库方法的一个基本特征是:它通过隐藏大多数数据库用户并不要求的数据存储细节,而提供某些层次上的数据抽象。
数据模型(Data Model)是一个可用于描述数据库结构的概念集合,它提供了为获得数据抽象所必需的工具。
(R. Elmasri, S. B. Navathe, 2002)数据模型是现实世界数据特征的抽象,在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。
通俗地讲,数据模型就是现实世界的模拟。
数据模型-数据模型的分类概念数据模型-ER图思考:假定现在要开发一个简单的班级管理系统,怎样构建ER图?模型分类-物理和逻辑数据模型物理数据模型提供的概念一般面向计算机专家的,通过诸如记录格式、记录顺序和存取路径等表示信息,描述数据在计算机中如何被存储。
逻辑数据模型隐藏了一些数据存储的细节,但可以在计算机中直接实现,例如关系数据模型。
模型分类-数据库的建模过程概念数据模型逻辑数据模型逻辑数据模型数据模型-数据模型三要素数据模型是严格定义的一组概念的集合,这些概念精确地描述了系统的静态特征(数据结构)、动态特征(数据操作)和完整性约束条件。
(1)数据结构,指对象和对象间联系的表达和实现;❑数据本身:类型、内容、性质。
例如关系模型中的域、属性、关系等。
❑数据之间的联系,数据之间是如何相互关联的,例如关系模型中的主码、外码、联系等。
(2)数据操作,对数据库中对象的实例允许执行的操作集合,主要指检索和更新(插入、删除、修改)两类操作。
(3)数据完整性约束,完整性规则的集合,规定数据库状态及状态变化所应满足的条件,以保证数据的正确性和相容性。
第一代数据库系统指层次和网状数据库系统,其代表是1969年IBM公司研制的IMS(Information Management System)和美国数据库系统语言协商会CODASYL下属的数据库任务组DBTG对数据库方法进行了研究、探讨,并提出了若干报告,称为DBTG报告。
该报告确定并建立了数据库系统的许多概念、方法和技术,特别是提出了网状数据模型。
第二代数据库系统指关系数据库系统,1970年IBM公司San Jose研究室的研究员E. F. Codd发表了题为“大型共享数据库数据的关系模型”论文,提出了数据库的关系模型开创了数据库关系方法和关系数据理论的研究,为关系数据库技术奠定了理论基础。
其代表有INGRES、ORACLE、DB2、SYBASE、INFORMIX等。
第三代是以面向对象模型为主要特征的数据库系统,从20世纪80年代以来,数据库技术在商业领域的巨大成功刺激了其他领域对数据库技术需求的迅速增长。
这些新领域为数据库应用开辟了新的天地,另一方面在应用中提出的一些新的数据管理的需求也直接推动了数据库技术的研究和发展,尤其是面向对象数据库系统的研究和发展。
逻辑数据模型-层次数据模型定义:用树型(层次)结构表示实体类型及实体间联系的数据模型称为层次模型(Hierarchical Model)。
层次模型的优点:(1)模型简单(2)查询效率高(3)便于管理数据的完整性层次模型的缺点:(1)只能表示一对多联系(2)数据的查询和更新操作复杂(3)层次命令趋于程序化(4)用户必须非常熟悉数据库结构实例:1968年,美国IBM公司推出的IMS(Information Management System)系统是最典型的层次模型系统,20世纪70年代在商业上得到了广泛应用。
结构表示实体类型及实体间联系的数据模型称为网状模系教研室 教员 实验员 班级学生逻辑数据模型-关系数据模型关系模型是建立在严格的数学概念的基础上的。
在用户的观点下,关系模型中数据的逻辑结构是一张二维表,由行和列组成。
(1)数据结构关系数据模型-数据结构关系(Relation):一个关系对应通常所说的一张表。
元组(Tuple):表中得一行即为一个元组。
属性(Attribute):表中的一列即为一个属性,给每一个属性起一个名称即属性名。
主码(Key):表中的某个属性组,它可以唯一确定一个元组。
域(Domain):属性的取值范围。
分量(Component):元组中的一个属性值。
关系模式(Relation Schema):对关系的描述,一般表示为:关系名(属性1、属性2、┈、属性n)关系数据模型-操作、完整性约束(2)操作和完整性约束关系数据模型的操作主要包括查询、插入、删除和修改数据。
对数据的操作必须满足完整性约束条件。
(3)存储结构在关系数据结构中、实体及实体间的联系都用表来表示。
在数据库的物理组织中,表以文件形式存储。
关系数据模型-优缺点关系模型的优点:1)关系模型是建立在严格的数学概念的基础上的;2)关系模型的概念单一。
无论实体还是实体之间的联系都用关系表示。
对数据的检索结果也是关系(即表)。
所以其数据结构简单、清晰、用户易懂易用;3)关系模型的存储路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也减轻了程序员的工作和数据库开发建立的工作。
关系模型的缺点:查询效率不如非关系数据模型。
Part III 数据库结构数据库系统结构⏹从数据库管理系统角度:三级模式结构,是DBMS的内部系统结构;⏹从数据库最终用户角度:单用户结构、主从式结构、分布式结构、客户/服务器结构、浏览器/应用服务器/数据库服务器多层结构等,是数据库系统的外部结构。
三层模式体系结构-内模式内模式(或存储模式)是最接近物理存储,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方法。
●一个数据库只有一个内模式。
●内模式使用物理数据模型,并描述数据库的存取路径和数据存储的全部细节。
●描述内模式的数据定义语言称为“内模式DDL”。
三层模式体系结构-模式概念模式(模式、逻辑模式)是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
•概念模式是整个组织的数据视图,表示数据库中的全部数据内容,因此一个数据库只有一个概念模式。
•概念模式隐藏了物理存储结构的细节,并注重于描述表、数据类型、联系、用户操作和约束。
概念模式使用逻辑数据模型。
•描述概念模式的数据定义语言称为“模式DDL”。
三层模式体系结构-外模式外模式(子模式、用户模式)是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表现。
•外模式就是单个用户的数据视图,因此一个数据库可以有多个外模式。
•每个外模式都可以描述某个特定的用户组所使用的那一部分数据库,同时还可以对这个用户组隐藏数据库的其它部分,是概念模式的子集,外模式使用概念数据模型或逻辑数据模型。
•用户使用DML(数据库操作语言)对外部记录进行操作。
•描述外模式的数据定义语言称为“外模式DDL”。
数据库的体系结构-映象和数据独立性❑这三层模式仅仅是对数据的描述,而数据只存在于物理层;❑每个用户组只关心自己的外模式;❑DBMS必须把外模式中的用户请求转换成模式中的请求,然后再把这个请求转换成内模式中的请求,并根据这一请求在物理层上进行处理;❑如果请求是一个数据库的检索请求,那么数据会先从物理层中抽取出来,随后转换成与用户的外部视图相匹配的格式;❑在各层之间转换请求和结果的处理过程被称为映象(Mappings);❑DBMS在三级结构之间提供了两个层次的映象:外模式/模式映象和模式/内模式映象。