第1章 关系数据库与SQL语言环境
中等职业教材数据库应用基础(第三版)第一章笔记整理
中等职业教材数据库应用基础(第三版)第一章笔记整理摘要:一、前言二、数据库系统基本概念1.数据2.数据库3.数据库管理系统4.数据库系统三、数据库设计1.需求分析2.概念设计3.逻辑设计4.物理设计四、关系数据库基本概念1.关系模型2.关系运算3.关系数据库的规范化五、SQL 语言1.SQL 概述2.SQL 数据定义3.SQL 数据操作4.SQL 数据查询5.SQL 数据更新六、数据库的安全与保护1.数据安全2.数据完整性3.并发控制4.数据备份与恢复七、数据库应用系统设计与开发1.数据库应用系统设计2.数据库应用系统开发3.数据库应用系统实例八、数据库技术的发展趋势正文:【前言】随着计算机技术的飞速发展,数据库技术在各行各业中得到了广泛的应用。
数据库技术不仅成为了计算机科学与技术领域的一个重要分支,而且已经深入到了日常工作和生活的方方面面。
本章将介绍数据库应用基础,帮助读者了解和掌握数据库技术的基本原理和应用方法。
【数据库系统基本概念】为了更好地理解数据库技术,首先需要了解数据、数据库、数据库管理系统和数据库系统这四个基本概念。
数据是指存储在计算机中的各种信息,数据库是对数据进行统一组织、存储、管理和维护的集合,数据库管理系统是用于管理数据库的计算机软件,而数据库系统则是数据库与数据库管理系统相结合的产物。
【数据库设计】数据库设计是数据库应用的基础,包括需求分析、概念设计、逻辑设计和物理设计四个阶段。
需求分析是为了了解用户的需求,概念设计是将需求转化为信息结构,逻辑设计是将信息结构转换为逻辑结构,物理设计则是将逻辑结构转换为物理结构。
【关系数据库基本概念】关系数据库是基于关系模型的数据库,采用关系运算、关系查询和关系更新等方式进行数据操作。
为了保证数据的一致性和正确性,需要对关系数据库进行规范化。
【SQL 语言】SQL(结构化查询语言)是关系数据库的通用语言,用于对数据库进行定义、操作和查询。
数据库系统概论习题及答案 填空题
数据库系统概论复习资料:第一章:一选择题:1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。
在这几个阶段中,数据独立性最高的是阶段。
A.数据库系统 B.文件系统 C.人工管理 D.数据项管理答案:A2.数据库的概念模型独立于。
A.具体的机器和DBMS B.E-R图 C.信息世界 D.现实世界答案:A3.数据库的基本特点是。
A.(1)数据可以共享(或数据结构化) (2)数据独立性 (3)数据冗余大,易移植 (4)统一管理和控制B.(1)数据可以共享(或数据结构化) (2)数据独立性 (3)数据冗余小,易扩充 (4)统一管理和控制C.(1)数据可以共享(或数据结构化) (2)数据互换性 (3)数据冗余小,易扩充 (4)统一管理和控制D.(1)数据非结构化 (2)数据独立性 (3)数据冗余小,易扩充 (4)统一管理和控制答案:B4. 是存储在计算机内有结构的数据的集合。
A.数据库系统 B.数据库 C.数据库管理系统 D.数据结构答案:B5.数据库中存储的是。
A.数据 B.数据模型 C.数据以及数据之间的联系 D.信息答案:C6. 数据库中,数据的物理独立性是指。
A.数据库与数据库管理系统的相互独立 B.用户程序与DBMS的相互独立C.用户的应用程序与存储在磁盘上数据库中的数据是相互独立的 D.应用程序与数据库中数据的逻辑结构相互独立答案:C7. .数据库的特点之一是数据的共享,严格地讲,这里的数据共享是指。
A.同一个应用中的多个程序共享一个数据集合 B.多个用户、同一种语言共享数据C.多个用户共享一个数据文件D.多种应用、多种语言、多个用户相互覆盖地使用数据集合答案:D8.数据库系统的核心是。
A.数据库B.数据库管理系统C.数据模型D.软件工具答案:B9. 下述关于数据库系统的正确叙述是。
A.数据库系统减少了数据冗余 B.数据库系统避免了一切冗余 C.数据库系统中数据的一致性是指数据类型一致D.数据库系统比文件系统能管理更多的数据答案:A10.将数据库的结构划分成多个层次,是为了提高数据库的①和②。
第1章 数据库基础知识_习题
第1章数据库基础知识_习题一、选择题1.数据库系统与文件系统的主要区别是()。
DA.数据库系统复杂,而文件系统简单B.文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件C.文件系统管理的数据量较少,而数据库系统可以管理庞大的数据量D.文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决2.在关系数据库系统中,当关系的模型改变时,用户程序也可以不变,这是()。
BA.数据的物理独立性B.数据的逻辑独立性C.数据的位置独立性D.数据的存储独立性3.数据库三级模式中,用逻辑数据模型对用户所用到的那部分数据的描述是()。
AA.外模式B.概念模式C.内模式D.逻辑模式4.以下对关系模型性质的描述,不正确的是()。
CA.在一个关系中,每个数据项不可再分,是最基本的数据单位B.在一个关系中,同一列数据具有相同的数据类型C.在一个关系中,各列的顺序不可以任意排列D.在一个关系中,不允许有相同的字段名5.关系数据库中的码是指()。
DA.能唯一决定关系的字段B.不可改动的专用保留字C.关键的很重要的字段D.能唯一标识元组的属性或属性集合6.自然连接是构成新关系的有效方法。
一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的()。
DA.元组B.行C.记录D.属性7.在建立表时,将年龄字段值限制在18~40之间,这种约束属于()。
BA.实体完整性约束B.用户定义完整性约束C.参照完整性约束D.视图完整性约束8.在A ccess中,“表”是指()。
AA.关系B.报表C.表格D.表单9.在A ccess中,用来表示实体的是()。
CA.域B.字段C.记录D.表10.把E-R图转换成关系模型的过程,属于数据库设计的()。
BA.概念设计B.逻辑设计C.需求分析D.物理设计二、填空题1.数据库是在计算机系统中按照一定的方式组织、存储和应用的。
支持数据库各种操作的软件系统叫。
由计算机、操作系统、DBMS、数据库、应用程序及有关人员等组成的一个整体叫。
数据库系统概论知识点
第一章:绪论数据库(DB):长期存储在计算机内、有组织、可共享的大量数据的集合。
数据库中的数据按照一定的数据模型组织、描述和存储,具有娇小的冗余度、交稿的数据独立性和易扩展性,并可为各种用户共享。
数据库管理系统(DBMS):位于用户和操作系统间的数据管理系统的一层数据管理软件。
用途:科学地组织和存储数据,高效地获取和维护数据。
包括数据定义功能,数据组织、存储和管理,数据操纵功能,数据库的事物管理和运行管理,数据库的建立和维护功能,其他功能。
数据库系统(DBS):在计算机系统中引入数据库后的系统,一般由数据库。
数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
目的:存储信息并支持用户检索和更新所需的信息。
数据库系统的特点:数据结构化;数据的共享性高,冗余度低,易扩充;数据独立性高;数据由DBMS统一管理和控制。
概念模型实体,客观存在并可相互区别的事物称为实体。
属性,实体所具有的某一特性称为属性。
码,唯一标识实体的属性集称为码。
域,是一组具有相同数据类型的值的集合。
实体型,具有相同属性的实体必然具有的共同的特征和性质。
实体集,同一类型实体的集合称为实体集。
联系两个实体型之间的联系一对一联系;一对多联系;多对多联系关系模型关系,元组,属性,码,域,分量,关系模型关系数据模型的操纵与完整性约束关系数据模型的操作主要包括查询,插入,删除和更新数据。
这些操作必须满足关系完整性约束条件。
关系的完整性约束条件包括三大类:实体完整性,参照完整性和用户定义的完整性。
数据库系统三级模式结构外模式,模式,内模式模式:(逻辑模式)数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
一个数据库只有一个模式。
模式的地位:是数据库系统模式结构的中间层,与数据的物理存储细节和硬件环境无关,与具体的应用程序、开发工具及高级程序设计语言无关。
模式定义的内容:数据的逻辑结构(数据项的名字、类型、取值范围等),数据之间的联系,数据有关的安全性、完整性要求外模式:(子模式/用户模式)数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据库和逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的系统的逻辑表示。
《关系数据库SQL语言》
[DataName!]TableName [[AS] Local_Alias] [ON JoinCondition]…] [WHERE JoinCondition [AND JoinCondition…] [AND|OR FilterCondition [AND|OR FilterCondition…]]] [ORDER BY Order_Item [ASC|DESC][,Order_Item [ASC|DESC]…]] [GROUP BY GroupColumn [,GroupColumn…] [HAVING FilterCondition]] [TO SCREEN|FILE FileName [ADDITIVE]|PRINTER [PROMPT]] [INTO TABLE TableName|CURSOR CursorName|ARRAY ArrayName]
(1)简单条件查询
【例5-5】在Zgjk.dbf表中,查询基本工资在1000元以上(含 1000元)职工的姓名和部门(要求不重复显示)。
在命令窗口中键入:
SELECT DISTINCT 姓名,部门,基本工资 FROM Zgjk WHERE 基本工资>=1000
(2)复合条件查询
【例5-6】在Zgjk.dbf表中,查询家电部门已婚的职工的信息。
1000 AND 1200 该命令等价于:
SELECT * FROM Zgjk WHERE 基本工资>=1000 AND ;
基本工资<=1200
3.对查询结果进行排序
在SELECT-SQL命令中,使用ORDER BY子句,可以使查询结果按 指定要求排序。 命令格式:SELECT <列名表> FROM <表名> [WHERE <条件>]; ORDER BY <排序依据> [ASC|DESC] 说明: 排序依据:备注型数据和通用型数据不能作为排序依据。排序依据 可以是字段名、由AS子句命名的列标题(在ORDER BY子句中,不能 直接使用表达式和函数)和列序号(即该列在查询结果中的位置1,2, 3…)。 排序方式:ASC表示查询结果按照排序依据项的值升序排列, DESC表示查询结果按照排序依据项的值降序排列。默认排序方式为 ASC。 排序规则:数值按大小顺序,字母按“ a ” < “ A ” < “ b ” < “ B ” … 的顺序,汉字按内码值顺序,日期按前后顺序,逻辑型数据“假”在 前“真”在后。
(完整版)数据库系统概论复习试题及答案
数据库系统概论复习资料:第一章:三:简答题:1. 什么是数据库?答:数据库是长期存储在计算机内、有组织的、可共享的数据集合。
数据库是按某种数据模型进行组织的、存放在外存储器上,且可被多个用户同时使用。
因此,数据库具有较小的冗余度,较高的数据独立性和易扩展性。
2. 什么是数据库的数据独立性?答:数据独立性表示应用程序与数据库中存储的数据不存在依赖关系,包括逻辑数据独立性和物理数据独立性。
逻辑数据独立性是指局部逻辑数据结构(外视图即用户的逻辑文件)与全局逻辑数据结构(概念视图)之间的独立性。
当数据库的全局逻辑数据结构(概念视图)发生变化(数据定义的修改、数据之间联系的变更或增加新的数据类型等)时,它不影响某些局部的逻辑结构的性质,应用程序不必修改。
物理数据独立性是指数据的存储结构与存取方法(内视图)改变时,对数据库的全局逻辑结构(概念视图)和应用程序不必作修改的一种特性,也就是说,数据库数据的存储结构与存取方法独立。
3. 什么是数据库管理系统?答:数据库管理系统(DBMS)是操纵和管理数据库的一组软件,它是数据库系统(DBS)的重要组成部分。
不同的数据库系统都配有各自的DBMS,而不同的DBMS各支持一种数据库模型,虽然它们的功能强弱不同,但大多数DBMS的构成相同,功能相似。
一般说来,DBMS具有定义、建立、维护和使用数据库的功能,它通常由三部分构成:数据描述语言及其翻译程序、数据操纵语言及其处理程序和数据库管理的例行程序。
4. 什么是数据字典?数据字典包含哪些基本内容?答:数据字典是数据库系统中各种描述信息和控制信息的集合,它是数据库设计与管理的有力工具,是进行详细数据收集和数据分析所获得的主要成果。
数据字典的基本内容有:数据项、数据结构、数据流、数据存储和处理过程5个部分。
第一章补充作业部分:假设教学管理规定:①一个学生可选修多门课,一门课有若干学生选修;②一个教师可讲授多门课,一门课只有一个教师讲授;③一个学生选修一门课,仅有一个成绩。
第一章SQL Server 2000基础知识
一个数据库至少有一个主要数据文件和一个事务日 志文件。
1.3.1 SQL Server2000的系统数据库和示例数据库
安装SQL Server2000之后,系统会在Microsoft SQLServer\MSSQL\Data路径下自动创建4个系统数据库 (master、model、msdb、tempdb)和2个示例数据库 (Northwind、pubs)。 • Master数据库:它是SQLServer系统最重要的数据库,它记 录了SQLServer系统所有的系统信息。 • Model数据库:它是所有用户数据库和tempdb数据库的模板 数据库。 • Msdb数据库:它是代理服务数据库,为其警报、任务调度和 记录操作员的操作提供存储空间。 • Tempdb数据库:它是一个临时数据库,它为所有的临时表、 临时存储过程及其他临时操作提供存储空间。 • Northwind和pubs数据库:它们是两个实例数据库,可以作 为学习SQLServer的学习工具。
本章目标
了解数据库基本知识 掌握SQL Server2000的安装 熟悉SQL Server2000的主要管理工具 掌握数据库的基本操作
1.1 数据库基本知识
信息、数据、数据库、数据库管理系统、数据库系 统 关系型数据库的概念
1.1.1信息、数据、数据库、数据库管理系统、数据库系统
① 信息:通俗的讲,信息就是人们最关心事情的消息,信息是可感知的、 信息:
1.2.2 SQL Server2000 的主要管理工具
查询分析器(SQL Server Query Analyzer):是一个图形化 的执行T-SQL查询语句的强大工具。在查询分析器里可以交互式 地输入和执行各种T-SQL语句,并且在一个窗口中可以同时查看 T-SQL语句和其结果集;可以在查询分析器中同时执行多个TSQL语句,也可以执行脚本文件中的部分语句。
数据库原理及应用教程(第三版)部分简答题答案--陈志伯
计算机硬件系统
为存储和运行数据库系统提供硬件设备支持。包括 CPU、内存、大容量的存储设备、输入输出设备、外 部设备等。
计算机软件系统
对数据库的数据进行存取、维护和管理,为用户操作 数据库提供界面和接口。包括DBMS及其开发工具、 OS和应用系统。
6
7. 试述数据库三级模式结构,说明三级 模式结构的优点是什么。(P11、13)
数据库系统内部的体系结构从逻辑上分为三 级:外模式、模式和内模式。
模式(逻辑模式、概念模式)是数据库中全体 数据的逻辑结构的特征的描述。一个数据库只 有一个模式 。 外模式(子模式、用户模式)是与应用有关的 数据的逻辑表示,是数据库终端用户能够看到 幵允许使用的局部数据的逻辑结构和特征的描 述。 内模式(存储模式)是对数据库存储结构的描 述,是数据在数据库内部的表示方式。
等值连接与自然连接的区别
自然连接要求相等属性值的属性名相同,而等 值连接不要求 自然连接是去掉重复列的等值连接
等值连接与自然连接的联系
在等值连接的情况下,当连接属性X与Y具有相 同属性组时,把连接结果中重复的属性列去掉 ,就可得到自然连接的结果。
15
6. 已知关系R,S,T如图2-12所示,求 下列关系代数的运算结果:
(1)R∩ S A B (2)R∪S a1 b1 (3)R- S (4)∏A(S) a1 b2 a2 b2 (5)R*T ∏ (S) (6)R∞T A <C (7)R.A=‘a2’ (R ×T) A
R
A
A S A a1 a1 a2 R -S B b2 b3 b2 A a1 a1 R ∪S a1 a2
第3章作业
P.134 三、设计题
2
P.135 四、简答题
5
数据库系统概论第五版课后习题答案王珊版
第二章关系数据库1 .试述关系模型的三个组成部分。
答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。
2 .试述关系数据语言的特点和分类。
答:关系数据语言可以分为三类:关系代数语言。
关系演算语言:元组关系演算语言和域关系演算语言。
SQL:具有关系代数和关系演算双重特点的语言。
这些关系数据语言的共同特点是,语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。
3 (略)4 .5 . 述关系模型的完整性规则。
在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空?答:实体完整性规则是指若属性A是基本关系R的主属性,则属性A不能取空值。
若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。
即属性F 本身不是主属性,则可以取空值,否则不能取空值。
6.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:1)求供应工程J1零件的供应商号码SNO:πSno (σJno=‘J1’(SPJ))2)求供应工程J1零件P1的供应商号码SNO :πSno (σJno=‘J1’∧Pno=‘P1‘(SPJ))3)求供应工程J1零件为红色的供应商号码SNO :πSno (πSno,,Pno (σJno=‘J1‘ (SPJ))∞πPno (σCOLOR=’红‘ (P )))4)求没有使用天津供应商生产的红色零件的工程号JNO :πJno (SPJ)- πJNO (σcity=‘天津’∧Color=‘红‘ (S ∞SPJ ∞P )5)求至少用了供应商S1所供应的全部零件的工程号JNO :πJno ,Pno (SPJ)÷ πPno (σSno=‘S1‘ (SPJ ))7. 试述等值连接与自然连接的区别和联系。
答案《关系数据库与SQL语言》第一章练习题
《关系数据库与SQL语言》第一章练习题一、选择题1. 实体完整性要求主属性不能取空值,这一点通常是通过(B)A. 定义外键来保证B. 定义主键来保证C. 用户定义完整性来保证D. 关系系统自动保证2. 建立在计算机外部设备上的结构化的、有联系的数据集合是(A)。
A. 数据库B. 数据库管理系统C. 数据结构D. 数据文件3. 英文缩写 DBA 是代表(B)。
A. 数据库管理系统B. 数据库管理员C. 数据定义语言D. 数据操纵语言4. 数据库设计中,在概念设计阶段可用 E — R 方法,其设计出的图称为(A)。
A. 实体联系图B. 实用概念图C. 实体表示图D. 实物示意图5. 在概念设计阶段可用 E —R 图,其中“矩形框”表示实体,(D)表示实体间联系。
A. 圆形框B. 椭圆框C. 箭头D. 菱形框6. 一个教师能开多门课程,一门课程有许多教师会开,实体课程与实体教师间是(C)。
A. 一对一的联系B. 一对多的联系C. 多对多的联系D. 多对一的联系7. 两个不同型实体间(B)。
A. 只有一种联系B. 可以有多种联系C. 不能有联系D. 只有多对多的联系8. 不是数据库系统中的数据模型是(D)。
A. 层次模型B. 网状模型C. 关系模型D. 多用户型9. 对于两实体间 m:n 联系,必须对“联系”单独建立(D),用来联系双方实体。
A. 一个实体B. 一个属性C. 一个指针D. 一个关系10. 模式的逻辑子集通常称为(C)A .存储模式B .内模式C .外模式D .模式11.要保证数据库物理数据独立性,需要修改的是 ( B ) 。
A. 模式B. 模式与内模式的映射C. 模式与外模式的映射D. 内模式12. 下列四项中,不属于数据库特点的是 ( C ) 。
A. 数据共享B. 数据完整性C. 数据冗余很高D. 数据独立性高13. 数据库中存储的是 ( D ) 。
A. 数据B. 数据模型C. 数据之间的联系D. 数据以及数据之间的联系14.表示数据库的概念模型一般使用 ( C) 。
数据库第二版课后习题答案
数据库第二版课后习题答案数据库第二版课后习题答案数据库是计算机科学中重要的概念之一,它提供了一种有效地存储和管理数据的方式。
数据库系统的设计与实现是数据库课程的重要内容之一。
在学习数据库课程时,课后习题是巩固知识和提高能力的重要途径。
本文将为大家提供数据库第二版课后习题的答案,希望对大家的学习有所帮助。
第一章数据库系统概述1. 数据库是什么?答:数据库是一个有组织的、可共享的、可维护的数据集合,它以一定的数据模型为基础,描述了现实世界中某个特定领域的数据和关系。
2. 数据库系统的特点有哪些?答:数据库系统具有以下特点:- 数据的独立性:数据库系统将数据与程序相分离,使得数据的修改不会影响到程序的运行。
- 数据的共享性:多个用户可以同时访问数据库,并且可以共享数据。
- 数据的冗余性小:通过数据库系统的数据一致性和完整性约束,可以减少数据的冗余性。
- 数据的易扩展性:数据库系统可以方便地进行扩展和修改,以满足不同需求。
- 数据的安全性:数据库系统提供了权限管理和数据加密等机制,保证数据的安全性。
第二章关系数据库与SQL1. 什么是关系数据库?答:关系数据库是一种基于关系模型的数据库,它使用表格(关系)来表示和存储数据。
关系数据库中的数据以行和列的形式组织,每个表格代表一个实体集,每一行代表一个实体,每一列代表一个属性。
2. 什么是SQL?答:SQL(Structured Query Language)是一种用于管理关系数据库的语言。
它包含了数据定义语言(DDL)、数据操纵语言(DML)和数据控制语言(DCL)等部分。
通过SQL,用户可以对数据库进行创建、查询、更新和删除等操作。
第三章数据库设计1. 数据库设计的步骤有哪些?答:数据库设计的步骤包括:- 需求分析:确定数据库的需求和目标,了解用户的需求。
- 概念设计:根据需求分析的结果,设计数据库的概念模型,包括实体、属性和关系等。
- 逻辑设计:将概念模型转换为逻辑模型,包括表格的设计、关系的建立和约束的定义等。
关系数据库标准语言
例:查询考试成绩有不及格的学生的学号。
SELECT DISTINCT 学号 FROM 选课 WHERE 成绩<60; 这里使用了DISTINCT短语,当一个学生有多门课程不及格,他 的学号也只列一次。
(2)确定范围
谓词BETWEEN…AND…和NOT BETWEEN…AND…可以用来查找属 性值在(或不在)指定范围内的元组,其中BETWEEN后是范围 的下限,AND后是范围的上限。 例:查询所有年龄在20岁到23岁之间的学生姓名、系别及其 年龄。
学号 95001
95001
95001
学号
95001 95002
95002
95002 95002
看书上的例子
2、查询满足条件的元组——条件查询
通过WHERE子句来实现, WHERE子句常用的查询条件有: 比较、确定范围、确定集合、字符匹配、空值与多重条件, 其谓词如书上P16所列。
(1)综合统一
SQL语言集DDL、DML、DCL的于一体,包括定义关系模式、录 入数据、建立数据库、查询、更新、维护、数据库重构、数据库安全性 控制等一系列功能。
(2)高度非过程化 用户无需了解存取路径,用户只需提出“做什么”,而不 必指明“怎么做”。存取路径的选择以及SQL语句的操作过 程由系统自动完成。 (3) SQL语言是一种面向集合的语言,每个命令的操作对 象是一个或多个关系,结果也是一个关系。 (4)以统一的语法结构提供两种使用方式——自含式和嵌 入式 自含式语言可以独立使用交互命令,适用于终端用户、 应用程序员和DBA; 嵌入式语言使其嵌入在高级语言中使用,供应用程序员 开发应用程序。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例如一个有代表性的信息检索网站,通常都是一个 典型的基于大型数据库的WEB应用。很多这样的网站都 采用Oracle的数据库服务器,以获得优越的性能。图1-1 给出了典型的WEB数据库应用系统的结构示意图。
7
W EB服 务 器 互联网
数据库服务器
客户机1 客户机2
客户机4 客户机3
图1-1 WEB数据库应用示意图
20
【训练1】 使用SQL*Plus工作表,以SCOTT账户 登录数据库。
步 骤 1 : 启 动 SQL*Plus 。 在 开 始 菜 单 中 , 找 到 Oracle菜单目录的“Application Development” 子菜单, 找到其下的“SQL*Plus WorkSheet”命令。
步骤2:为其在桌面上创建一个快捷方式并启动, 出现如图1-5所示的登录界面。
30
2.环境设置命令 在SQL*Plus环境下,可以使用一系列的设置命令 来对环境进行设置。如果不进行设置,系统会使用默 认值。通过SHOW ALL命令可以查看SQL*Plus的环境 参数。设置命令的格式为 SET 参数 [ON|OFF|值] 通常需要对输出的显示环境进行设置,这样可以 达到更理想的输出效果。显示输出结果是分页的,默 认的页面大小是14行×80列。以下的训练是设置输出 页面的大小,用户可以比较设置前后的输出效果。
13
规范化设计的规则有三个,分别称作第一范式、第二 范式和第三范式:
第一范式(1NF):实体的所有属性必须是单值的并且不 允许重复。
第二范式(2NF):每一个非主属性完全函数依赖于码。 第三范式(3NF):每一个非主属性既不部分依赖于码也
不传递依赖于码。 在数据库的设计中,一般都采用第三范式,以保证数 据的冗余最小,提高数据的完整性。
SCOTT账户的默认口令是TIGER。
19
我们假定Oracle数据库已经安装在局域网中的一台基 于 Windows 操 作 系 统 的 服 务 器 上 , 服 务 器 的 名 称 为 ORACLE,数据库实例的名称为MYDB。管理客户端和 开发工具安装在其他基于Windows操作系统的客户机上, 并且该机器通过网络能够访问到Oracle数据库服务器。这 时,我们就可以使用管理客户端中的SQL*Plus工具来进 行登录了。登录前一般要由管理员使用Oracle的网络配置 工具创建一个网络服务名,作为客户端连接名。为了方 便记忆,连接名可以与数据库实例名相重。我们假定创 建的网络连接服务名为MYDB,则登录过程如下。
参考教材
1、Oracle数据库实用教程,唐远新等,高教出版社社, 2005
2、Oracle Database 10g PL/SQL入门教程,(美) Christopher Allen著,刑智明译,清华大学出版社, 2005
1
第1章 关系数据库与SQL语言环境
1.1 关系数据库的基本概念 1.2 SQL*Plus环境 1.3 Oracle的应用开发工具TOAD 1.4 操作准备 1.5 阶段训练 1.6 练习
姓名 … 系部ID
黄浩
101
李静明
101
赵欣
102
王强
102
方俊英
103 外键
主键列
系部表 系部ID 101 102 103
系部名称 计算机系
… 地点 行政5楼
电子工程系
行政3楼
管理系
行政2楼
主键列
图1-4 表的结构和表间关系示意
16
1.1.5 开发数据库应用系统的步骤 下面列出了常见的数据库应用系统的开发步骤: 系统需求分析。 设计数据库表。 规划表中的字段。 确定表与表之间的关系。 优化表和表中字段的设计。 输入数据,检测表的设计,如果需要改进可以再 次优化表的设计。
29
说明:SCOTT为账户名, TIGER为口令,账户名 和口令之间用“/”分隔。“@”后面的字符串称为网络 服务名或称为连接字符串。
注意:以上方法的口令是显式的,容易被其他人 窃取。
要关闭或退出SQL*Plus,可以在输入区域直接输 入“EXIT”或“QUIT”命令并执行,或执行“文件” 菜单下的“退出”命令。
SQL*Plus可以同时运行多个副本,连接相同或不 同的账户,同时进行不同的操作。
在本书的训练中,如果没有指明登录的账户,则 都默认为SCOTT账户。
26
Oracle数据库的很多对象,都是属于某个模式(Schema) 的,模式对应于某个账户,如SCOTT模式对应SCOTT账 户。往往我们对模式和账户不做区分。数据库的表是模式 对象中的一种,是最常见和最基本的数据库模式对象。一 般情况下,如果没有特殊的授权,用户只能访问和操作属 于自己的模式对象。比如以SCOTT账户登录,就只能访问 属于SCOTT模式的表。所以通过以不同的用户身份连接, 可以访问属于不同用户模式的表。
2
1.1 关系数据库的基本概念
1.1.1 数据库和数据库管理系统 数据库是在计算机上组织、存储和共享数据的方
法,数据库系统是由普通的文件系统发展而来的。数 据库系统具有较高的数据独立性,即不依赖于特定的 数据库应用程序;数据库系统的数据冗余小,可以节 省数据的存储空间;另外数据库系统还很容易实现多 个用户的数据共享。
4
一个真正的数据库系统由硬件和软件两个方面构 成。比如我们要使用Oracle数据库,需要安装Oracle 公司提供的数据库服务器。
数据库系统的发展经历了层次模型、网状模型及 关系模型几个阶段。当今应用最普遍的是关系型数据 库管理系统。目前,市场上流行的几种大型数据库, 如Oracle、DB2、Sybase、MS SQL Server等都是关系 型数据库管理系统。Oracle数据库是一种面向对象的 关系型数据库管理系统(ORDBMS),是基于标准SQL 语言的数据库产品。
17
创建查询、存储过程、触发器以及其他的数据库 对象。 使用数据库分析工具来分析和改进数据库的性能。 设置数据库安全性。
18
1.2 SQL*Plus环境
1.2.1 SQL*Plus的登录和环境设置 1.登录SCOTT账户 在登录和使用SQL*Plus的同时,要以数据库用户
的身份连接到某个数据库实例。在Oracle数据库创建 过程中,选择通用目的安装,会创建一个用于测试和 练习目的的账户——SCOTT。其中保存了一些数据库 表 的 实 例 , 主 要 的 两 个 表 是 雇 员 表 EMP 和 部 门 表 DEPT通过登录SCOTT账户就可以访问这些表。
12
规范化的意义在于可以从实体中删除冗余信息,通过 修改数据模型达到可以惟一地表示实体的每一种情况为止。
规范化是降低或消除数据库中冗余数据的过程。尽管 在大多数的情况下冗余数据不能被完全清除,但冗余数据 降得越低,就越容易维护数据的完整性,并且可以避免非 规范化的数据库中数据的更新异常。数据库的规范化通过 范式来验证,但是一味地考虑满足范式,也会对数据库性 能产生影响,并给实际的实施带来困难。所以实际的情况 是采取折衷的方法。
8
1.1.2 实体关系模型 在数据库的设计阶段,需要创建逻辑模型。关系
数据库的逻辑模型叫做实体—关系模型。实体模型化 最 常 用 的 工 具 是 实 体 关 系 图 , 简 称 E–R(Entity– Relationship) 图 , 它 是 一 种 简 单 的 图 形 技 术 , 用 来 定 义数据库中需要的表、字段和关系。它用于数据库设 计的第一步,与我们使用的具体的数据库管理系统无 关。实体关系模型的优点是:
23
连接成功后,出现如图1-6所示的SQL*Plus工作表 的工作窗口,在输出区的信息“已连接”表示数据库 连接成功。如果显示登录失败信息,则需要重新检查 输入的连接参数是否正确。
24
图1-6 SQL*PLUS工作表
25
窗口界面可划分成如下几个区域:菜单区、按钮 区、输入区和输出区。通过拖动输入区和输出区中间 的分隔线可以调整两个区的大小。输入区为一文本编 辑区,可以在其中进行命令的输入和编辑,可以使用 通用的文本编辑命令,如“选择”、“剪切”、“复 制”和“粘贴”等进行操作。在输入区中可以输入 SQL命令或PL/SQL程序。输出区为一只读文本区,显 示命令的输出结果。
28
还有一种以命令方式进行重新连接的方法更为便捷, 重新进行连接的命令是CONNECT。
以下是该方法的训练。 【训练2】 输入和执行CONNECT命令重新连接数 据库。 步骤1:在输入区域清除原有命令,输入新命令。
CONNECT SCOTT/TIGER@MYDB 步骤2:点击“执行”按钮(或按F5快捷键)执行该 命令。 显示结果为: 已连接。
21
图1-5 SQL*Plus的登录对话框
22
步骤3:在登录对话框中选择直接连接到数据库, 并输入其他必要的参数。
用户名为SCOTT。 口令为TIGER。 服务为MYDB,其中MYDB为由系统管理员创建 的网络服务名。 连接身份选为Normal。 点击“确定”按钮即可进行数据库连接了。 在输出区输出结果为: 已连接。
27
如果需要重新连接另外一个账户,可以点击“连 接”按钮,则重新出现连接对话框,在该对话框中输 入新的账户名、口令和其他参数进行连接即可。任何 时刻,如果需要运行输入区中的命令,可以点击“执 行”按钮。用户可以在输入区中输入和编辑任何命令, 在编辑完成后通过点击“执行”按钮(或按F5快捷键) 来执行输入区中的命令脚本。
14
图1-4是实际设计的两张表和表间关系的示意图。 教师表由教师ID、姓名和系部ID等列构成;系部表由 系部ID、系部名称和地点等列构成。其中,教师ID和 系部ID分别是这两张表的主键。教师表的系部ID和系 部表的系部ID之间建立了外键联系,即教师表的系部 ID必须是系部表的某个系部ID。
15
教师表 教师ID 10105 10118 10236 10257 10321