大家好,我是枯燥的工程师。
近几年软考的命题趋势显示,考查范围越来越广,细节要求越来越高。仅靠学习传统的“重点难点”,已难以覆盖所有考点,系统性遗漏的风险在增加。因此,我对《软件设计师》教材进行了全面梳理,预计200余个具体知识点,逐一整理、编号、解读。建立完整的知识体系,是应对当前考试最扎实的方法。也欢迎大家扫描文末二维码加入学习交流群!
从2月份开始,我将以每周更新三次的频率,严格按教材顺序分享知识点,预计四月下旬完成。
今天我们继续分享第9章:
知识点7.基本概念
1、概念数据模型。也称信息模型,是按用户的观点对数据和信息建模;是用户和数据库设计人员交流的语言,主要用于数据库设计。典型的的是实体-联系模型,简称E-R模型。
2、基本数据模型。它是按计算机系统的观点对数据建模,是现实世界数据特征的抽象,用于DBMS的实现。
3、数据模型。
数据库结构的基础是数据模型,是用来描述数据的一组概念和定义。数据模型三要素包括
(1)数据结构。数据结构是所研究的对象类型的集合,是对系统静态特性的描述。
(2)数据操作。数据操作是对数据库中各种对象的实例允许执行的操作的集合。
(3)数据的约束条件。数据的约束条件是一组完整性规则的集合。
数据模型在数据库领域中常见的数据模型有层次模型、网状模型、关系模型和面向对象模型。
4、关系模型
目前最常用的数据模型之一。关系数据库系统采用关系模型作为数据的组织方式,在关系模型中用表格结构表达实体集以及实体集之间的联系,其最大特色是描述的一致性。关系模型是由若干个关系模式组成的集合。一个关系模式相当于一个记录型,对应于程序设计语言中类型定义的概念。关系是一个实例,也是一张表,对应于程序设计语言中变量的概念。给定变量的值随时间可能发生变化,类似地,当关系被更新时,关系实例的内容也随时间发生了变化。
知识点8.E-R模型
E-R模型概念模型是对信息世界建模,所以概念模型能够方便、准确地表示信息世界中的常用概念,也是软件工程设计中的一个重要方法。E-R模型只能说明实体间的语义联系,还不能进一步地详细说明数据结构。在解决实际应用问题时,通常先设计一个E-R模型,然后再把其转换成计算机能接受的数据模型。
1.实体
在E-R模型中,实体用矩形表示,通常矩形框内写明实体名。实体是现实世界中可以区别于其他对象的“事件”或“物体”。
2.联系
在E-R模型中,联系用菱形表示,通常菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标注上联系的类型(1∶1、1∶n或m∶n)。实体的联系分为实体内部的联系和实体与实体之间的联系。
3.属性
属性是实体某方面的特性。例如,职工实体集具有职工号、姓名、年龄、参加工作时间和通信地址等属性,每个属性都有其取值范围。属性包括:
(1)简单属性和复合属性。
(2)单值属性和多值属性。
(3)NULL属性。
(4)派生属性。

9.3关系代数
知识点9.关系数据库的基本概念
(1)目或度。这里的R表示关系的名字,n是关系的目或度。
(2)候选码。关系中的某一属性或属性组的值能唯一地标识一个元组。
(3)主码。若一个关系有多个候选码,则选定其中一个为主码。
(4)主属性。包含在任何候选码中的诸属性称为主属性。
(5)外码。如果关系模式R中的属性或属性组非该关系的码,但它是其他关系的码,那么该属性集对关系模式R而言是外码。
(6)全码。关系模型的所有属性组是这个关系模式的候选码,称为全码。
知识点10.关系代数运算
1.并𝑅∪𝑆
结果是两张表中所有记录数合并,相同记录只显示一次。
2.差𝑅-𝑆
结果是R表中有而S表中没有的那些记录。
3.笛卡儿积(𝑅×𝑆)
产生的结果包括R和S的所有属性列,并且R中每条记录依次和S中所有记录组合成一条记录,最终属性列为R+S属性列,记录数为R*S记录数。
4.投影(π)
实际是按条件选择某关系模式中的某列,列也可以用数字表示。
5.选择(σ)
实际是按条件选择某关系模式中的某条记录。


6.交R⋂S
结果是两张表中相同的记录。
7.自然连接 𝑅⋈𝑆
显示全部的属性列,但是相同属性列只显示一次,显示两个关系模式中属性相同且值相同的记录。

9.4关系数据库 SQL 语言简介
知识点11.SQL基本概念
SQL是是关系数据库中最普遍使用的语言,包括数据查询、数据操纵、数据定义和数据控制功能,是一种通用的、功能强大的关系数据库的标准语言。
⚫数据查询:SELECT。
⚫数据定义:CREATE、DROP、ALTER。
⚫数据操纵:INSERT、UPDATE、DELETE。
⚫数据控制:GRANT、REVOKE。
知识点12.常用的SQL语言
1、创建表
创建表create table;
指定主键primary key();
指定外键foreign key();
例如:

2、修改删除
修改表alter table;
删除表drop table;
例如:

3、索引和视图
索引index,视图view;
例如:

4、查询
(1)数据库查询select…from…where;
例如:

(2)分组查询group by,分组时要注意select后的列名要适应分组,having为分组查询附加条件;
例:select sno,avg(score) from student group by sno having(avg(score)>60)
更名运算as: select sno as “学 号” from t1
(3)字符串匹配like,%匹配多个字符串,_匹配任意一个字符串:
例:select * from t1 where sname like 'a_'
5、数据库插入
数据库插入insert into…values():
例:insert into t1 values('a',66)
6、数据库删除
数据库删除delete from…where:
例:delete t1 where sno=4
7、数据库修改
数据库修改update…set…where:
例:update t1 set sname='aa' where sno=3
8、排序
排序order by,默认为升序,降序要加关键字DESC:
例:select * from t1 order by sno desc
9、授权
授权语句:GRANT<权限>[, <权限>]…[ON <对象类型><对象名>]TO<用户>[, <用户>]…
[WITH GRANT OPTION];
例:DBA 把数据库SPJ 中建立表的权限赋给用户User1,其授权语句如下:
GRANT CREATETAB ON DATABASE SPJ TO User1;

夜雨聆风