数据库系统 入门笔记(二)

1.数据库实现模型

  • 关系模型(Relational Model)
  • 面向对象模型(Object Oriented Model)
  • NoSQL数据库  
  • 分层模型(Hierarchical Model)
  • 网状模型(Network Model)
  • 倒排文件模型(Inverted file Model)

2.关系模型

        关系数据库模型最早在1970年由IBM研究所的Edear.F.Code 提出。目前,关系数据库仍是最广泛使用的数据库之一。关系模型最广泛使用的数据库模型,与其他所有模型的原理相同,是理解其他模型的基础。

关系型数据库管理系统:Oracle,  SQL Server,  MySQL,  DB2,  PostgreSQL, MS Access

3.数据库模式文件

        关系数据库往往建立很多张表格,以避免数据重复出现。在数据库被物理的创建之前,可以通过一个ER图来表示数据库的结构,ER图中的每个实体都将对应一张表格。这个ER图被称为数据库模式文件(Database Schema file)。

关系型表格的特征:

  • 每一列(field)需要有一个独特的名称。
  • 每一行(record),都代表一条相关信息 。
  • 每一列的所有值都具有相同的数据类型。
  • 一行一列的每个交集代表一个数据值,一个单元格就是一个分量(component)。
  • 数据应该尽可能的不可分割(atomic)。

4.键(key)

        在关系型数据库中,键(key)是用于唯一标识表中的记录(record)的字段(field)或字段组合。

键类型及其功能:

  1. 主键(Primary Key)

    • 唯一标识表中的每一行记录。
    • 不能有重复值,也不能为NULL。
    • 通常是一个单一列,但也可以是多个列的组合(复合主键)。
    • 选择主键的规则:唯一性(unique);考虑数据值的所有可能性;如果使用组合列,则使用最小列数 ;必须是一个稳定的值,不经常变化。
  2. 外键(Foreign Key)

    • 用于在两个表之间建立关系。
    • 外键在一个表中引用另一个表的主键。
    • 允许在表之间进行联接查询。
  3. 候选键(Candidate Key)

    • 表中可以作为主键的列或列组合。
    • 每个候选键都能唯一标识记录,但只有一个被选为主键。
  4. 唯一键(Unique Key)

    • 确保列中的所有值都是唯一的,但可以包含NULL值。
    • 与主键类似,但允许一个NULL值。
  5. 复合键(Composite Key)

    • 由两个或多个列组成的键,用于唯一标识记录。
    • 常用于需要多个属性来唯一标识一条记录的情况。

5.数据库应用系统(DBAS)

        数据库应用系统(Database Application System)是指在数据库管理系统(DBMS)支持下建立的计算机应用系统。主要由以下几个部分组成:

  1. 数据库(DB):存储和管理数据的集合。
  2. 数据库管理系统(DBMS):用于创建、管理和操作数据库的软件。
  3. 应用程序(Database Application):与用户交互并执行特定任务的软件。
  4. 用户(user):使用系统的人员,包括数据库管理员和终端用户。

        用户通常使用的是一个包含了表单、定制报告、查询、程序代码的数据库应用程序,应用程序中的每一个部分将直接与DBMS通信来处理数据库表中的内容。

        通信关系:user  <——>  Database Application  <——>  DBMS   <——> DB

数据库应用系统的特点包括

  • 结构特性:与数据模型和实体之间的关系有关,涉及数据库的设计和模式。
  • 行为特性:与数据的操作和状态变化有关,决定了系统的功能和应用程序的设计。

        注意:一个数据库是很多张表格的合集,而一个数据库管理系统中有一个或多个数据库。

6.关系型数据库的优点

  • 数据独立:数据只需要存储一次,与应用程序无关
  • 减少数据冗余:消除数据异常
  • 增加数据共享:可以多人共同访问DBMS
  • 轻松访问:能够使用SQL进行特殊的查询能力
  • 更好的安全性:容易提供不同的访问权限
  • 数据增长:容易通过添加任何表来扩张未来的数据增长

7.数据库设计方法

1.自顶向下设计(Top-down design):首先定义全局的概念结构框架,然后逐步细化到具体的应用。 流程:

  1. 需求分析:从整体需求出发,确定系统的主要功能和数据需求。
  2. 概念设计:创建一个高层次的概念模型,通常使用E-R图表示。
  3. 逻辑设计:将概念模型转换为逻辑模型,适应特定的数据库管理系统(DBMS)。

        优点:

  • 提供清晰的全局视图,便于管理和维护。
  • 有助于确保数据一致性和标准化。

        缺点:

  • 可能需要较长的时间和较高的成本。
  • 对于需求变化的适应性较差。

2.自底向上设计(Botton-up design):首先定义各局部应用的概念结构,然后将它们集成起来,形成全局结构。流程:

  1. 局部设计:针对特定的业务需求,创建数据集市(Data Mart)。
  2. 集成:将多个局部设计整合成一个统一的全局模型。

        优点:

  • 更灵活,能够快速响应具体业务需求。
  • 成本相对较低,适合小型企业或项目。

        缺点:

  • 可能导致数据孤岛,不同部门之间的数据不一致。
  • 整合时可能面临挑战,增加管理复杂性。

3.正常化(Normalisation):在数据库设计的过程中,正常化是一个通过将数据分解成多个表,确保每个数据项都依赖于主键,从而消除不必要的依赖关系的过程。正常化的主要步骤:

  1. 第一范式(1NF):确保每个字段都是原子的,避免重复组。
  2. 第二范式(2NF):消除部分依赖,确保非主属性完全依赖于主键。
  3. 第三范式(3NF):消除传递依赖,确保非主属性不依赖于其他非主属性。

        在自底向上设计中,正常化是一个关键过程:

  1. 使用现有文档和流程:从组织现有的数据和流程入手。
  2. 识别数据元素:确定需要管理的具体数据项。
  3. 分组数据元素:将识别出的数据元素进行分类,形成数据集。
  4. 定义属性并形成实体:首先定义每个数据项的属性,然后将它们组合成实体。

        通过正常化,设计者能够优化数据库结构,减少冗余,提高数据的完整性和一致性。

8.数据库生命周期(DBLC)

        数据库从创建到停用的全过程被称为数据库生命周期(Database Life Cycle),它是一个迭代的过程,各个阶段之间相互影响。

        数据库的设计包含一系列的迭代步骤(Iterative Steps):

  1. 需求分析(Requirment analysis):step 1,决定数据库的功能和数据需求。这被称为需求分析,将决定什么数据将会被放在数据库以满足公司和用户,并决定公司/组织的业务规则。
  2. 数据建模(Data modelling):step 2,建立一个概念数据模型(Conceptual Data Model),用ER 图建模。概念模型独立于现实模型(关系模型),不是特定于DBMS。
  3. 关系参与(Candidate relations):step 3,建立一个逻辑数据模型(Logical Data Model),用ER图建模。现在实体模型已经确定,如果是关系数据库模型,则显示外键。逻辑数据模型仍然不特定于DBMS。
  4. 关系规范化(Normalized relations) :step 4,利用三范式对组织中的现有数据进行规范化。这被称为自顶向下设计。
  5. 在数据库中建表(Tables in a database):step 5,在数据库中建表。当所有数据都被包含在ER图中,它就成为一个物理模型(Physical Model)。物理模型是要存储在数据库中的表的实际结构。物理模型特定于DBMS。
  6. 物理实现(Physical implementations):step 6,物理实现完整的数据库,针对需求进行数据库优化(tuning)和维护(maintain)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值