【数据库原理及应用】期末考试复习 知识点【数据库系统概论第5版王珊】

数据模型:理解数据的组织方式

静态特性:数据结构

  • 数据结构:定义了数据的组织形式。例如,在图书馆管理系统中,书籍信息可以组织为一个表格,每本书是一个记录,包含书名、作者、出版年份等字段。

动态特性:数据操作

  • 数据操作:包括对数据的增加、删除、更新和查询。例如,图书馆管理系统允许管理员添加新书的记录,删除旧书的记录,更新书籍的可借状态。

逻辑模型

  • 层次模型:适用于有明确上下级关系的数据,如公司的组织结构。
  • 网状模型:允许更复杂的关系,如社交网络中的朋友关系。
  • 关系模型:使用表格形式存储数据,如学生的成绩表,每行代表一个学生,每列代表一门课程。
  • 面向对象模型:将数据和操作封装在对象中,如一个Person类可以有nameage属性,以及speak方法。
  • 对象关系模型:结合了面向对象和关系模型的特点,如PostgreSQL数据库支持存储JSON数据。
  • 半结构化数据模型:如NoSQL数据库MongoDB,可以存储JSON格式的数据,允许灵活的数据结构。

数据库系统核心:数据模型的运用

  • :数据库中的基本存储单位,由多条记录组成。如图书馆管理系统中的Books表,每行代表一本书。
  • 属性:表中的列,每个属性有特定的数据类型。如Books表中的TitleAuthorPublicationYear等列。
  • 完整性约束:确保数据的准确性和一致性。如Books表的ISBN列设置为唯一,确保每本书的ISBN号不会重复。
  • 数据独立性:逻辑独立性允许更改数据库模式而不影响应用程序,物理独立性允许更改存储方式而不影响数据库模式。如更改Books表的物理存储方式,如从磁盘存储改为SSD,而不需要修改应用程序代码。

数据操作与控制:SQL语言的力量

SQL基础

  • 数据定义语言DDL:定义数据库结构,如创建新表或修改现有表结构。使用CREATE TABLE创建新表,使用ALTER TABLE修改表结构。
    • 例子:创建一个新表的SQL语句:
    • CREATE TABLE Employees (
        EmployeeID INT PRIMARY KEY,
        FirstName VARCHAR(50),
        LastName VARCHAR(50),
        Position VARCHAR(100)
      );
  • 数据操纵语言DML:操作数据库中的数据,如查询、插入、更新和删除记录。使用SELECT查询数据,使用INSERT INTO添加数据,使用UPDATE更新数据,使用DELETE删除数据。
    • 例子:查询所有员工的姓名和职位:
    • SELECT FirstName, LastName, Position FROM Employees;
  • 数据控制语言DCL:定义数据库的安全策略,如用户权限的授予和撤销。使用GRANT授予用户权限,使用REVOKE撤销权限。
    • 授予用户对Employees表的查询权限:
    • GRANT SELECT ON Employees TO user_name;

高级SQL操作

  • 视图:基于查询的虚拟表,简化用户操作。
  • CREATE VIEW可以创建一个视图,如CREATE VIEW AvailableBooks AS SELECT * FROM Books WHERE Status = 'Available';,显示所有可借阅的书籍。
  • 索引:优化查询性能的数据结构。
  • CREATE INDEX可以为表的某个列创建索引,提高查询效率。
  • 触发器:自动执行的数据库过程,响应特定事件。
  • 可以自动执行,如在Books表上创建一个触发器,每当有新书添加时自动更新库存数量。

数据安全性和完整性:保护数据的防线

  • 主码:唯一标识表中每条记录的属性集合。如Books表的ISBN列,唯一标识每本书。
  • 用户定义的完整性:通过CHECKNOT NULLUNIQUE等约束实现。如通过约束如CHECK (PublicationYear > 1800)确保出版年份在合理范围内。
  • 完整性控制:通过各种约束和触发器确保数据的正确性和一致性。

数据库设计:从概念到实现

E-R模型

  • 概念模型:使用E-R图来表示图书馆管理系统中的实体如书籍、作者、借阅者,以及它们之间的关系。

设计步骤

  • 需求分析:确定图书馆管理系统需要哪些功能,如借阅、归还、查询等。
  • 概念结构设计:绘制E-R图,表示书籍、作者、借阅者等实体及其关系。
  • 逻辑结构设计:将E-R图转换为关系模型,创建相应的表和关系。
  • 物理结构设计:考虑如何存储数据,是否需要索引,选择合适的存储引擎。
  • 数据库实施:在数据库系统中实现设计,创建表,加载数据。
  • 运行和维护:确保数据库正常运行,定期备份,优化性能。

知识点深入:关系模型的规范化

  • 1NF:确保数据库表的每一列都是不可分割的基本数据项,如Books表中的Title列不能包含多个标题。
  • 2NF:在1NF的基础上,消除部分依赖,如Orders表中的OrderID应该是主键,而不是OrderID的一部分。
  • 3NF:在2NF的基础上,消除传递依赖,如Customer表中的Address不应该依赖于CustomerID之外的其他列。
  • BCNF:在3NF的基础上,进一步规范化,确保每个决定因素都是候选键。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值