导航:PCPOP.COM > 泡泡俱乐部 > 小说分区 > 帖子

发帖时间:2007-06-13 09:13:23
功能:[收藏] [违规举报] 【复制地址】 [点97/回18]
分页:第一页 [1-50] 下一页 尾页 [新开阅读] [只看楼主] [刷新本帖]

[楼主] [每日必看] [大字 小字]
数据库基础知识 
本章以概念为主,主要是了解数据库的基本概念,数据库技术的发展,数据模型,重点是关系型数据。 

第一节:信息,数据与数据处理 

一、 信息与数据: 
1、 信息:是现实世界事物的存在方式或运动状态的反映。或认为,信息是一种已经被加工为特定形式的数据。 
信息的主要特征是:信息的传递需要物质载体,信息的获取和传递要消费能量;信息可以感知;信息可以存储、压缩、加工、传递、共享、扩散、再生和增值 
2、 数据:数据是信息的载体和具体表现形式,信息不随着数据形式的变化而变化。数据有文字、数字、图形、声音等表现形式。 
3、 数据与信息的关系:一般情况下将数据与信息作为一个概念而不加区分。 
二、 数据处理与数据管理技术: 
1、 数据处理:数据处理是对各种形式的数据进行收集、存储、加工和传输等活动的总称。 
2、 数据管理:数据收集、分类、组织、编码、存储、检索、传输和维护等环节是数据处理的基本操作,称为数据管理。数据管理是数据处理的核心问题。 
3、 数据库技术所研究的问题不是如何科学的进行数据管理。 
4、 数据管理技术的三个阶段:人工管理,文件管理和数据库系统。 

第二节:数据库技术的发展 

一、 数据库的发展:数据库的发展经历了三个阶段: 
1、 层次型和网状型: 
代表产品是1969年IBM公司研制的层次模型数据库管理系统IMS。 
2、 关系型数据型库: 
目前大部分数据库采用的是关系型数据库。1970年IBM公司的研究员E.F.Codd提出了关系模型。其代表产品为sysem R和Inges。 
3、 第三代数据库将为更加丰富的数据模型和更强大的数据管理功能为特征,以提供传统数据库系统难以支持的新应用。它必须支持面向对象,具有开放性,能够在多个平台上使用。 
二、 数据库技术的发展趋势: 
1、 面向对象的方法和技术对数据库发展的影响: 
数据库研究人员借鉴和吸收了面向对旬的方法和技术,提出了面向对象数据模型。 
2、 数据库技术与多学科技术的有机组合: 
3、 面向专门应用领域的数据库技术 
三、 数据库系统的组成: 
数据库系统(DBS)是一个采用数据库技术,具有管理数据库功能,由硬件、软件、数据库及各类人员组成的计算机系统。 
1、 数据库(DB): 
数据库是以一定的组织方式存放于计算机外存储器中相互关联的数据集合,它是数据库系统的核心和管理对象,其数据是集成的、共享的以及冗余最小的。 
2、 数据库管理系统(DBMS): 
数据库管理系统是维护和管理数据库的软件,是数据库与用户之间的界面。作为数据库的核心软件,提供建立、操作、维护数据库的命令和方法。 
3、 应用程序: 
对数据库中数据进行各种处理的程序,由用户编写。 
4、 计算机软件: 
5、 计算机硬件: 
包括CPU、内存、磁盘等。要求有足够大的内存来存放操作系统、数据库管理系统的核心模块以及数据库缓冲;足够大的磁盘能够直接存取和备份数据;比较主的通道能力;支持联网,实现数据共享。 
6、 各类人员。 

忠诚泡友---蹦蹬 戴尔笔记本惊喜价仅¥6199!咨询:800-858-2685


[1楼]:
四、 数据库系统的特点: 
1、 数据共享: 
2、 面向全组织的数据结构化: 
数据不再从属于一个特定应用,而是按照某种模型组织成为一个结构化的整。它描述数据要身的特性,也描述数据与数据之间的种种联系。 
3、 数据独立性: 
4、 可控数据冗余度: 
5、 统一数据控制功能: 
数据安全性控制:指采取一定的安全保密措施确保数据库中的数据不被非法用户存取而造成数据的泄密和破坏; 
数据完整性控制:是指数据的正确性、有效性与相容性。 
并发控制:多个用户对数据进行存取时,采取必要的措施进行数据保护; 
数据恢复:系统能进行应急处理,把数据恢复到正确状态。 

第三节:数据模型 

一、 数据组织: 
关系型数据库中的数据层次如下: 
1、 数据项(field):又称字段,用于描述实体的一个属性,是数据库的基本单位。一般用属性名作项名; 
2、 记录(Record):又称为结点,由若干个数据项组成,用于描述一个对象; 
3、 文件(File):由若干个记录组成; 
4、 数据库(Data Base):由逻辑相关的文件组成。 
二、 数据模型: 
数据的组织形式称为数据模型,它决定 数据(主要是结点)之间联系的表达方式。主要包括层次型、网状型、关系型和面向对象型四种。层次型和网状型是早期的数据模型,又称为格式化数据系统数模型。 
以上四种模型决定了四种类型的数据库:层次数据库系统,网状数据库系统,关系型数据库系统以及面向对象数据库系统。 
目前微机上使用的主要是关系型数据库。 
1、 层次型:是以记录为结点的有向树;图如教材P7图1――2 
2、 网状型:树的集合,它的表示能力以及精巧怀强于层次型,但独立性下降。 
3、 关系型: 
在关系型中,数据被组织成若干张二维表,每张表称为一个关系。 
一张表格中的一列称为一个“属性”,相当于记录中的一个数据项(或称为字段),属性的取值范围称为域。 
表格中的一行称为一个“元组”,相当于记录值。 
可用一个或若干个属性集合的值标识这些元组,称为“关键字”。 
每一行对应的属性值叫做一个分量。 
表格的框架相当于记录型,一个表格数据相当于一个同质文件。所有关系由关系的框架和若干元组构成,或者说关系是一张二维表。 
关系型的特点:描述的一致性;可直接表示多对多关系;关系必须是规范化的;关系模型建立在数学概念基础上。 
4、 面向对象型:主要采用对象和灯的概念。 
2007-06-13 09:13:48
忠诚泡友---蹦蹬【楼主】

[2楼]:
第四节:关系型数据库 

一、 关系型数据库的发展: 
1、 数据库产品种类繁多:像dBASE,FoxBASE,Clipper,Paradox,Acess等。 
2、 采用SQL语言:SQL(Structured Query Language)“结构化查询语言”,是通用的关系型数据库操作语言,可以查询、定义、操纵和控制数据库。它是一种非过程化语言。 
3、 支持面向对象的程序设计: 
4、 提供良好的图形界面和窗口; 
5、 支持开放的客户机/服务器和分布式处理; 
6、 提供新一代的数据库管理系统开发工具:支持GUI(图形界面)、ODBC(开放数据库连接)、OLE(对象的链接与嵌入)、DLL(动态链接)等。 
二、 关系型数据库管理系统(RDBMS)及其产品: 
主要著名的关系型数据库产品有Oracle、Sybase、Informix、DB2、Inges、Paradox、Access、SQL Server等。数据库应用系统开发工具是PowerBuilder和Delphi。

数据库分很多种,主流的有甲骨文的ORACAL,IBM的DB2,还有微软的SQL Server,免费的网上可以下载 的MY SQL,也挺好用的。 
2007-06-13 09:14:21
忠诚泡友---蹦蹬【楼主】

[3楼]:
没事瞎蹦。。。
2007-06-13 09:14:36

[4楼]:
专业贴...
      学习...
2007-06-13 09:14:50

[5楼]:
数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改和检索由统一软件进行管理和控制。从发展的历史看,数据库是数据管理的高级阶段,它是由文件管理系统发展起来的。 

数据库的基本结构分三个层次,反映了观察数据库的三种不同角度。 

(1)物理数据层。它是数据库的最内层,是物理存贮设备上实际存储的数据的集合。这些数据是原始数据,是用户加工的对象,由内部模式描述的指令操作处理的位串、字符和字组成。 

(2)概念数据层。它是数据库的中间一层,是数据库的整体逻辑表示。指出了每个数据的逻辑定义及数据间的逻辑联系,是存贮记录的集合。它所涉及的是数据库所有对象的逻辑关系,而不是它们的物理情况,是数据库管理员概念下的数据库。 

(3)逻辑数据层。它是用户所看到和使用的数据库,表示了一个或一些特定用户使用的数据集合,即逻辑记录的集合。 

数据库不同层次之间的联系是通过映射进行转换的。数据库具有以下主要特点: 

(1)实现数据共享。数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。 

(2)减少数据的冗余度。同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件。减少了大量重复数据,减少了数据冗余,维护了数据的一致性。 

(3)数据的独立性。数据的独立性包括数据库中数据库的逻辑结构和应用程序相互独立,也包括数据物理结构的变化不影响数据的逻辑结构。 

(4)数据实现集中控制。文件管理方式中,数据处于一种分散的状态,不同的用户或同一用户在不同处理中其文件之间毫无关系。利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。 

(5)数据一致性和可维护性,以确保数据的安全性和可靠性。主要包括:①安全性控制:以防止数据丢失、错误更新和越权使用;②完整性控制:保证数据的正确性、有效性和相容性;③并发控制:使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用;④故障的发现和恢复:由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏 


你可能是初学的,这样说吧,数据库就是建表格,然后把一张一张的表格钉在一起,就成了一大堆的数据了,用专业的术语,我们把这么一大堆的表格叫数据库. 
书很多呀,<数据库概论>这本就不错,我学过这本书,虽说是偏现理伦的多一点,但一边学这本书,一边再找一本实用教材,(我指的是专门的一本学习数据库一种软件的书,)很受益. 
我当时,就是一边说这本书,一边说<SQL server 2000> 

SQL,MySQL,比较合适于在家里学习数据库, 
ORCAL,比较适合于公司应用 
DEPHI,本身并不是数据库,但是是一个做数据库系统,相当实 用的软件很实用. 
ACCESS, 对比较合适于应用它,不太适合利用它学数据库,因为ACCESS一般不用语言,而且是面向普通用户的,就是说用的比较方便实用, 
2007-06-13 09:15:35
忠诚泡友---蹦蹬【楼主】

[6楼]回3楼:
准备面试中……狂背数据库知识啊……
2007-06-13 09:16:01
忠诚泡友---蹦蹬【楼主】

[7楼]:
Oracle数据库基础知识――体系结构篇

概述:本文简单的介绍了Oracle数据库、实例、数据库的内部结构、内部存储结构,基本数据库的实现(后台进程)等内容。

一、数据库(Database)

一个Oracle数据库实际上是主要由以下三种基本类型的物理文件组成:

   控制文件  数据文件  日志文件 

控制文件 包含组成该数据库的其他文件(例如,数据文件和日志文件)的列表,它还包括数据库内容和状态的关键信息。

数据文件 表空间是一个逻辑结构,它和操作系统一样,是不可见的。表空间由数据文件这样的物理结构组成;每个表空间包括一个或多个数据文件,但每个数据文件只能属于一个表空间。创建一个表时,必须说明是在哪个表空间内创建的。这样,Oracle才能在组成该表空间的数据文件中为它找到空间。表空间是Oracle数据库信息物理存储的一个逻辑视图。

 


日志文件 Oracle两种日志文件类型:

A 联机日志文件

 这是Oracle用来循环记录数据库改变的操作系统文件。

(由于数据文件的丢失,如果需要恢复,只能恢复到最后一个完全脱机数据库备份。在最后一个完全脱机备份后的数据改动都将丢失。因此,需要进行非常频繁的脱机备份。必须进行完整的数据库备份,不能仅备份部分数据库。不能进行联机备份,脱机备份过程中不能使用数据库。)

B 归档日志文件

 这是指为避免联机日志文件重写时丢失重复数据而对联机日志文件所做的备份。

         (归档的日志文件,加上联机日志文件 + 数据文件)à 恢复数据库

2007-06-13 09:16:23
忠诚泡友---蹦蹬【楼主】

[8楼]:
二、实例(Instance)

  数据库实例(也称为服务器Server)就是用来访问一个数据库文件集的一个存储结构及后台进程的集合。它使一个单独的数据库可以被多个实例访问(也就是ORACLE并行服务器―― OPS)。实例和数据库的关系如下:


决定实例的组成及大小的参数存储在init.ora文件中。

         数据库与实例关系:数据库是物理概念:它包括存储在磁盘中的文件;实例是逻辑概念:它包括服务器中的内存结构与进程。一个实例能够而且只能与一个数据库连接用户一般不会直接访问Oracle数据库的信息,而是通过Oracle实例来访问信息.如果实例挂起,虽然数据库仍然存在,用户却无法对它进行访问。此时数据库是静态的:其数据不会改变。当实例重新服务时,数据库中的数据则随时做好准备,即可以对它进行访问。

三、客户程序调用流程


四、数据库的内部结构

4.1 表、列、数据类型 (number型)

4.2 约束条件 à 保证数据完整性

         主键(PK)、外键(FK)、DEFAULT(缺省)、检查(CHECK)、唯一性(UNIQUE)NOT NULL

         default 0  check (maxyc >0)  UNIQUE

4.3 抽象数据类型(Abstract Datatype):

可以利用CREATE TYPE命令创建自定义的抽象数据类型。(有点类似于c中的结构体)

4.4分区(Partition):

可以利用分区将大表分隔成若干个小的存储单元,逻辑上仍然是一个完整的独立单一实体(在物理上表被分割开),以减小访问时数据的查找量,提高访问、存储效率。(用作分区逻辑基础的列一般不会是表的主键,最常用的是外键;对表分区时,不同分区应尽量放在不同表空间里面)

局部索引(关键字 local),全局索引

4.5 用户(User):

用户拥有数据库对象,以及对象的使用权。

sys(change_on_install) :拥有数据字典表(这些表存储了数据库中其他所有结构的信息)

system(manager):拥有访问数据字典表的视图(供其他用户使用)

4.6 模式(Schema):

用户账号拥有的对象集合称为模式。

4.7 索引(Index): 

ORACLE8中有BTree(簇索引、表索引),位图索引两种索引形式。

B*Tree索引,在索引结构中存储着键值和键值的RowID,并且是一一对应的。

位图索引主要针对大量相同值的列而创建(例如:类别,操作员,部门ID,库房ID等),索引块的一个索引行中存储键值和起止Rowid,以及这些键值的位置编码,位置编码中的每一位表示键值对应的数据行的有无。一个位图索引块可能指向的是几十甚至成百上千行数据的位置。

4.8 簇(Cluster):

经常被频繁引用的表可以在物理位置上被存储在一起,簇就是用来管理这种集中存储的。集中存储可以减少I/O次数,以达到性能的改善和提高。

4.9 散列簇(Hash Cluster):

簇的另一种形式,这种簇中的数据要通过散列函数计算得出物理位置,它可以极大程度的提高等值查询的效率。

4.10 视图(View):

4.11 序列(Sequence):

         (不保证生成一串连续不断的值) 

4.12 过程、函数(Procedure、Function):

编译存储在数据库中的一个PL/SQL程序段,函数返回调用者一个值,过程则不返回任何值。

4.13 包(Package):

函数、过程的集合。

4.14 触发器(Trigger):

         语句触发器,行触发器

         (触发时机:BEFORE  AFTER) (触发事件:update,insert,delete)

4.15 同义词(Synonyms):

在分布式数据库环境中,要完全识别一个对象,必须指出对象的主机、属主等信息,为了简化这一过程,可以对这些对象建立同义词,引用这些同义词时系统自动转义成对原始对象的引用。

Create public synonym EMPLOEE for HR.EMPLOYEE

4.16 权限、角色(Privilege、Role):

角色是这些权限的集合,例如――DBA就是一个角色,它包括一组数据库权限。

4.17 数据库链路(Database Link):

Oracle数据库具有引用本地数据库以外数据的能力。引用其他数据库的数据时,需要指明详细路径,链路就是详细路径的识别名。

创建公共链路:

         Create public database link MY_LINK

connect to HR identified by PUFFINSTUPP

using ‘DB1’;

使用链路:

select  * from EMPLOYEE@ MY_LINK

4.18 回滚段:

         提供前映像数据。

4.19 快照和显形图:基于查询

五、内部存储结构

5.1 系统全局区(System Global Area,SGA):

包括――数据块缓冲存储区(Data Block Buffer Area)、字典缓冲区(Dictionary Cache)、日志缓冲区(Redo Log Buffer)、SQL共享池(Shared SQL Pool)四部分。

5.2 正文区间(Context Area):

每个用户都拥有自己的私有SQL区域,保存相关的SQL语句,直到语句相关的光标关闭为止。

5.3 程序全局区(Program Global Area,PGA):

它是存储区中被单个用户进程所使用的区域,PGA不能共享。
2007-06-13 09:16:31
忠诚泡友---蹦蹬【楼主】

[9楼]:
六、基本数据库的实现(后台进程)

         访问数据库的服务器最小构成如下:

l          一个SGA

l          SMON:系统监控程序,启动数据库时,执行所需的实例恢复操作,也可以清除数据库,取消系统不再需要的事物对象。

l          PMON:进程监控程序,负责清除失败用户的进程,释放用户当时正在使用的资源,

l          DBWR:数据写入程序,负责管理数据块缓冲区及字典缓冲区的内容,

l          LGWR:日志写入程序,负责把联机重做日志缓冲区的内容写入联机重做日志文件

l          CKPT:检查点进程,用来减少执行实例恢复所需的时间。检查点使DBWR把上一个检查点以后的全部已经修改数据块写入数据文件,并更新数据文件头和控制文件以记录该检查点。

l          与PGA相关联的用户进程

2007-06-13 09:16:41
忠诚泡友---蹦蹬【楼主】

[10楼]:
看不懂...
2007-06-13 09:17:41

[11楼]回6楼:
那你可以一个字一个字打出来
这样有助于记忆
2007-06-13 09:18:16

[12楼]:
很基础的东西
2007-06-13 09:22:02

[13楼]回10楼:
我也看不懂,我学广告出身的,现在要去软件公司面试数据库,崩溃……
2007-06-13 09:23:05
忠诚泡友---蹦蹬【楼主】

[14楼]回11楼:
我还没找到我需要的知识……就是能唬住人家公司技术部主管的知识点……
2007-06-13 09:25:04
忠诚泡友---蹦蹬【楼主】

[15楼]:
转的电子版?
2007-06-13 09:25:39
忠诚泡友---妖道轨迹

[16楼]回13楼:
......加油吧
2007-06-13 09:26:54

[17楼]回15楼:
搜索的。
2007-06-13 09:31:16
忠诚泡友---蹦蹬【楼主】

[18楼]回13楼:
啊。你要当数据库程序员啊。牛!

人家也不是傻子。现叫你做个程序呢

不过你家锤子也可以教你
2007-06-21 12:56:31


分页:第一页 [1-50] 下一页 尾页 [新开阅读] [只看楼主] [刷新本帖]
复制本帖地址http://pop.pcpop.com/t070613/3201249.html
<< 上一篇 琳琳貓生日快樂~
此帖已经被管理员沉默,不再允许回复!

Copyright©2007POPSPACE.COM All rights Reserved
2002-2008 泡泡空间版权所有