数据库系统概论-第一章

引言

数据库系统存在两个缺点:

  1. 启用数据库系统相比较文件系统需要更多的时间,经验,技巧和知识;

  2. 数据库系统的复杂性可能会导致性能上的问题。

数据库定义语句DDL和Java,C这些高级开发语言区别:

1.执行DDL会在数据库中创建一个对象,而Java和C的对象声明只是一种抽象;

2.DDL允许指定一致性约束,而Java和C不允许这么做;

3.DDL提供权限校验功能,支持为不同的用户给予不同的权限。而Java和C做不到这一点,最多能将变量限制在类里面进行操作;

4.编程语言有比数据库更丰富的类型,一般的数据库只支持不同类型的数字和字符串,虽然有些数据库也支持复杂一些的比如数组和列表;

5.数据库语言专注于特定类型的属性参数之间的关系,而编程语言允许创建类和集合。

为一个企业创建数据库的过程:

扫描二维码关注公众号,回复: 6269244 查看本文章

1.定义企业的高级需求(一般来说这一步就是生成系统需求说明书);

2.定义系统的数据类型和数据之间关系的模型;

3.定义数据的完整性约束;

4.对于需要人工控制的定时任务,定义用户接口来解决需求,并编写对应的应用程序来实现接口;

5.创建/初始化数据库。

如果需要建立一个类似youtube的视频网站,将数据存储在一个文件系统中的话可能会有哪些问题或者风险:

1.数据冗余和一致性问题 视频文件的关联项比较少,很少会导致冗余。视频文件信息如果存放于文件系统,可能会出现一致性问题(没有更新到所有的文件);

2.数据的可获取性 如果通过一个特定的接口,可以获取文件系统存储的数据,但是如果有需求需要搜索特定的文件,那么这个搜索需求将会很难实现;

3.数据隔离 由于更多的操作是创建而不是更新数据,因此数据隔离不会是个大问题。但是如果加上了权限校验,那么并发更新文件数据将会导致不可预计的问题;

4.数据完整性 除了主键外,视频应用不存在数据完整性的问题;

5.原子性问题 上传视频时,视频数据和视频元数据应该以原子的方式添加。需要一个数据修复机制,当上传失败时对于数据进行修复;

6.并发访问异常 由于视频文件不会经常进行更新,并发访问问题不需要过多的考虑;

7.安全问题 如果系统提供权限校验,文件系统存储的视频文件的安全性将是一个问题。

文件系统和数据库系统的区别:

1.两者都含有一系列的数据集合和操作这些数据的项目程序。数据库系统同时具有逻辑和物理的获取数据方法,而文件系统只有物理的获取数据方法;

2.数据库系统使用较少的数据副本来保证所有具有权限的程序可以访问到对应的数据,而文件系统需要为每一个程序创建一个独立的备份;

3.数据库系统可以提供灵活的数据获取方式,而文件系统需要提前设计如何获取数据;

4.数据库系统可以允许多位用户同时访问同一数据,而文件系统同时只允许一位用户访问同一数据(当两位用户同时使用只读的方式时,可以访问同一数据)。

物理数据独立性

物理数据独立性即允许修改数据库结构并且可以不需要修改应用程序。

数据库管理员的五个主要工作是:

1.备份数据库

2.在某些时候创建数据库表定义

3.定义数据存储结构和获取方法

4.修改数据库表结构或者物理结构

5.保证数据的权限控制

6.指定数据的完整性约束

猜你喜欢

转载自www.cnblogs.com/Simon-cat/p/10917491.html