【数据库原理基础】数据库设计

前言

数据库设计是数据库系统开发的核心问题,对数据库系统的质量和性能有着深刻的影响。

一、简述关系模型的三要素

关系模型的三要素为:数据结构、数据操纵、完整性约束。

1、数据结构

数据结构单一,无论实体还是实体间的联系,均有单一的结构来表示该结构是一张规范化了的二维表,由行和列组成,称之为关系。

2、数据操纵

包括查询、新增、删除、修改,其中查询的表达能力是最主要的部分。关系模型数据操纵的特点是集合操作,即操作的对象和结果都是集合,这种操作方式也称为一次一集合方式。

3、关系的完整性约束

有实体完整性、参照完整性和用户定义的完整性三大类。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,由关系DBMS自动支持,用户定义的完整性是应用领域需要遵循的约束条件,在具体领域中的语义约束。

二、简述关系的6基本性质

1、列是同质的。每一列中的分量是同一类型的数据,来自同一个域。
2、不同列可来自同一个域。每一列为一个属性,不同的属性要给予不同的属性名。
3、列的位置具有顺序无关性,列的次序可以任意交换。由于列顺序是无关紧要的,因此在许多实际关系数据库产品中,增加新属性时,一般是插值最后一列。
4、任意两个元组不能完全相同。这是笛卡尔积的性质决定。
5、分量必须取原子值,即每一个分量都必须是不可分割的数据项。

三、简述使用存储过程的优点

1、存储过程能够提高程序的执行速度。因为存储过程只在创建时进行编译,以后每次存储过程都不需要再重新编译,所以使用存储过程可以提高数据库的执行速度。
2、当对数据库进行复杂操作时,可将此复杂操作用存储过程封装起来与数据库提供的事物处理结合一起使用。而且,存储过程可以重复利用,从而减少数据库开发工作人员的工作量。
3、存储过程能够减少网络流量。对于同一个针对数据库对象的操作,如查询修改,如果这一操作所涉及的语句被组织成一个存储过程,那么当客户计算机上调用该存储过程时,网络中传送的只是调用语句,而不是查询过程中的所有语句,这就大大降低了网络的传输量。
4、安全性高。可设定只有某类用户才具有对指定存储过程的使用权限。

四、什么是实体完整性?什么是参照完整性?

1、实体完整性

实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。
1)实体完整性规则能够保证实体的唯一性;
2)实体完整性规则能够保证实体的可区分性。

2、参照完整性

参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应,则对于R中每一个元组在F上的值必须为:或者取空值(F的每个属性值均为空值),或者等于S中某个元素的主码值。例如,学生(学号,姓名,专业号),专业(专业号,专业),学生关系中的专业号需要参照专业关系中的专业号,称学生关系中的专业号是学生关系的外码,专业关系是被参照关系,学生关系为参照关系,外码与主码不一定要同名,学生关系中的外码值要么为空值,要么为专业关系中对应的专业号的值。

五、关系模型

3.13 对于学生选课关系,其关系模式为
学生(学号,姓名,性别,所在系,班号,出生日期)
课程(课程号,课程名,学时,学分,选修课程号)
选修(学号,课程号,成绩)
用关系代数完成如下查询:
1)求学过数据库课程的学生的姓名和学号。
2)求学过数据库和数据结构的学生姓名和学号。
3)求没学过数据库课程的学生学号。
4)求学过数据库的选修课的学生学号。
∏姓名、学号(δ课程名 = ‘数据库’(学生⨝课程⨝选修))
∏姓名、学号(δ课程名 = ‘数据库’∪‘数据结构’(学生⨝课程⨝选修))
∏学号(学生) - ∏姓名、学号(δ课程名 = ‘数据库’(学生⨝课程⨝选修))
∏学号、课程号 / ∏选修课程号(δ课程名 = ‘数据库’(选修))

3.18 请设计一个图书馆数据库,此数据库中对每个借阅者保存的记录包括:读者号、姓名、地址、性别、年龄、单位。对每本书保存有:书号、书名、作者、出版社。对每本被借出的书保存有读者号、借出日期和应还日期。要求:给出该图书馆数据库的E-R图,再将其转换为关系模型。
在这里插入图片描述

关系模型:
借阅者(读者号,姓名,地址,性别,年龄,单位)
图书(书号,书名,作者,出版社)
借阅(读者号,书号,借出日期,应还日期)

3.19 设有一家百货商店,已知信息有:

  1. 每个职工的数据:职工号、姓名、地址和他所在的商品部。
  2. 每一商品部的数据:职工、经理和经销的商品。
  3. 每种经销的商品数据:商品名、生产厂家、价格、型号(厂家定的)和内部商品代号(商店规定的)。
  4. 关于每个生产厂家的数据:厂名、地址、向商家提供的商品价格。
    请设计该百货商店的概念模型,再将概念模型转换为关系模型。注意某些信息可用属性表示,其他信息可用联系表示。
    在这里插入图片描述

关系模型:
职工(职工号,姓名,地址)
经理(经理号,姓名,地址)
商品部(商品部号)
商品(商品名,生产厂家,价格,型号,内部商品代号)
生产厂家(厂名,地址,商品价格)
销售(职工号,商品号)
经营(商品部号,商品号)

六、简述数据库索引设计的原则。

设计索引方法的基本原则是:
1)如果一个(或一组)属性经常在查询条件中出现,则考虑在这个(或这组)属性上建立索引(或组合索引)。
2)如何一个属性经常作为最大值或最小值等聚集函数的参数,则考虑在这个属性上建立索引。
3)如果一个(或一组)属性经常在连接操作的连接条件中出现,则考虑在这个(或这组)属性上建立索引(或组合索引)。
4)大表应当建立索引,小表则不必建索引。在确定对基本表建立索引时,表的数据越多,记录越长,越有必要建立索引,建立索引后加快查询速度的效果也越明显。相反,对于记录较少的基本表,建立索引的意义不大。

总结

以上就是本文内容,欢迎评论或私聊哦!
我们下次再会!!!

  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
CSDN数据库系统原理课程设计是一门涉及数据库系统的理论和设计实践的课程。在这门课程,我们将学习数据库系统的基本原理、结构和各种关键技术,同时还将通过具体的设计项目来应用所学知识。 课程设计主要包括以下几个方面: 1. 课程背景:介绍数据库系统的重要性和应用领域,以及为什么需要学习数据库系统的原理设计。 2. 数据库系统基本原理包括数据库系统的定义、组成和结构,以及关系模型、数据模型、数据管理和查询优化等基本概念和方法。 3. 关系数据库设计:学习如何进行关系数据库设计和规范,包括实体-关系模型的设计、关系模式的规范化和逻辑数据模型的转换等。 4. 数据库管理:学习数据库系统的管理和维护技术,包括数据安全性和完整性、事务管理、并发控制和故障恢复等。 5. 查询优化:学习如何优化数据库查询的性能,包括查询的代价估计、查询优化器的工作原理和查询执行计划的生成等。 6. 数据库应用开发:学习如何使用数据库系统进行应用开发包括数据库编程语言、数据访问接口和应用程序的设计和实现。 在课程设计过程,我们将理论与实践相结合,通过完成具体的数据库系统设计和实现项目来巩固所学知识,并提升实际应用能力。通过这些项目,我们将深入了解数据库系统的各个方面,从数据库设计到管理和优化,全面掌握数据库系统的原理和实践。在完成课程设计后,我们将具备独立进行数据库系统设计开发工作的能力,为今后的工作和学习奠定坚实的基础

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lanbabela

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值