a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 122|回复: 1

[软件设计师] 2012年软考软件设计师重点难点之数据库

[复制链接]
发表于 2012-8-2 09:08:23 | 显示全部楼层 |阅读模式
软件设计师重点难点——数据库: l& x) E8 n8 d, O2 o2 q
: d+ n2 r0 X. D
  数据库管理系统(DBMS) , v) c+ k# r$ c3 a
  数据库管理系统(DBMS)是指DBS中对数据进行管理的软件系统,它是DBS的核心成分。DBS中所有与数据库打交道的操作,包括建库、查询、更新及数据控制,都是通过DBMS进行的。数据库管理系统总是基于某种数据库模型,可分为网状型、层次型、关系型和面向对象型DBMS。
  w7 i; h% v) Q6 ?4 [) Q* c  数据库管理系统的主要目标:把数据作为可管理的资源处理。 % j9 C: G( l" r- y' v) H2 z
  数据库管理系统的5个重要功能: & p6 F3 ^% z6 \4 A8 D
  ◆数据库的定义功能:DBMS提供数据定义语言(DDL)定义数据库的3级结构,包括外模式、概念模式、内模式及其相互之间的映象,定义数据的完整性约束、保密限制等条件。因此在DBMS中包括DDL的编译程序。 4 o; j+ z- i2 m# ^
  ◆数据库的操纵功能:提供数据操纵语言(DML)实现对数据的操作。有4种基本操作:检索(查询)、插入、删除、修改。在DBMS中包括DML的编译程序或解释程序。 ( U1 E5 y1 R) L# U! P2 V% y
  ◆数据库的保护功能:DBMS对数据库的保护主要通过4个子系统:
, V0 \; B2 a" [. U0 \  A.数据库恢复(在数据库被破坏或数据不正确时,系统有能力把数据库恢复到最近某个正确的状态
& S9 b; o8 v6 {; U0 T! ~  B.数据完整性控制(保证数据库中数据及语义的正确性和有效性,防止任何对数据错误的操作) 7 o% e- q0 ~  L( i" h
  C.多用户环境下的并发控制。 9 h  \! s$ a+ y8 `
  D.数据安全性控制(防止未被授权的用户蓄谋或无意地存取数据库中的数据,以免数据的泄露或破坏)。
, {$ n* l% j, y5 m: H5 A+ q, d  ◆数据库的维护功能:这部分包括数据库的初始数据载入、转换功能、存储功能、数据库的改组、性能监视功能。
. p% w3 f  k* Y, Y1 `7 s  ◆数据字典(DD):DD管理数据库3级结构的定义。对于数据库的操作都要通过查阅DD才能进行。现在有的大型系统中,把DD单独抽出来自成一个系统,成为一个系统工具,使得DD成为一个比DBMS更高级的用户与数据库之间的接口。
4 t* O" O; X! u, H6 t& I- P$ p  要注意的是:应用程序并不属于DBMS的范围。应用程序是用主语言和DML编写的,程序中的DML语句由DBMS执行,而其余部分仍由主语言编译程序完成。 4 J( ^8 W5 _) Z
  数据库系统(DBS) - \# N2 {, r. m! i" |# W' e8 c+ v8 i
  数据库系统是一个复杂的系统,它是采用了数据库技术的计算机系统。因此,它不仅仅是一组对数据进行管理的软件(即DBMS),也不仅仅是一个数据库。它是一个实际可运行的、按照数据库方法存储、维护和向应用系统提供数据支持的系统。它是存储介质、处理对象和管理系统的集合体,由数据库DB、硬件支持系统、软件支持系统和数据库管理员DBA这四部分组成。 6 d8 ?* S( f. ?" V) }/ l: K: Y
  SQL语句 ! {4 }- N) Q& O' \! G& A1 }  z3 F
  ◆基本表的定义可用“CREATE TABLE”语句实现,增加属性可以用ALTER...ADD...”语句,删除属性可以用“ALTER...DROP...”语句;删除已存在的表可用“DROP TABLE...”语句。
* i/ A) v+ q7 g  ◆视图的定义和撤消 ' j! ]* A! E  C; F3 w
  ◆索引的定义和撤销 % D+ l" `0 p7 s* f; u! s. h
  ◆SELECT 查询语句
2 f- @9 q& e/ u# g. a# \  ◆DELETE删除语句
9 f* a' P, c: G, O8 B/ Z  ◆INSERT插入语句 + v) R: m7 I& k, \5 j
  ◆uPDATE语句
! |1 u8 k/ O- w- w/ F  关系运算
6 r' N. z6 E: j& Y  专门的关系运算包括选择、投影、连接、除等。 9 }* h: U6 e- v0 a6 I
  选择(Selection) ! G; N( k: E' ~7 [
  选择又称为限制(Restriction)。它是在关系R中选择满足给定条件的诸元组,记作:
, H) i  F( b* b: r# n4 W  σF(R) = {t|t∈R ∧ F(t)='真'}
/ F' F7 C/ h! x- `  P* O  其中F表示选择条件,它是一个逻辑表达式,取逻辑值‘真’或‘假’。 . C  Y  f5 N9 m
  逻辑表达式F的基本形式为:
6 d2 e) y6 v/ N( u% X3 C1 E3 |  X1 θ Y1 [ φ X2 θ Y2 ]
$ q' I/ ^* j7 l( p+ ?, H. w  θ表示比较运算符,它可以是>、≥、<、≤、=或≠。X1、Y1等是属性名或常量或简单函数。属性名也可以用它的序号来代替。φ表示逻辑运算符,它可以是僼、∧或∨。[ ]表示任选项,即[ ]中的部分可以要也可以不要,...表示上述格式可以重复下去。
% W2 u6 H! }$ o0 N  因此选择运算实际上是从关系R中选取使逻辑表达式F为真的元组。这是从行的角度进行的运算。 ! W' s6 w# W- i
  举例 : P  n9 J) a: H9 `/ R0 S, U7 t2 h# Y
  设有一个学生-课程关系数据库,包括学生关系Student、课程关系Course和选修关系SC。下面的许多例子将对这三个关系进行运算。   a! l3 w3 K# H5 n! O6 C6 [: k
  例1 查询信息系(IS系)全体学生
1 e6 S! C( C- u  σSdept='IS'(Student) 或 σ5='IS'(Student)
# u9 N) R: B* y, @, u3 S: ]  例2 查询年龄小于20岁的元组 9 @! `  @5 W% y. z% g" w
  σSage
回复

使用道具 举报

 楼主| 发表于 2012-8-2 09:08:24 | 显示全部楼层

2012年软考软件设计师重点难点之数据库

投影(Projection) 7 m8 t/ Q, o. m" r2 D+ o) i6 o
  关系R上的投影是从R中选择出若干属性列组成新的关系。记作: $ V" Q# z0 r# g5 L
  ΠA(R) = { t[A] | t∈R } # o% w) E1 k+ E
  其中A为R中的属性列。 8 c* ]2 D/ X8 c( L
  举例 ! ^# {3 O& M$ _; u  X
  例3 查询学生关系Student在学生姓名和所在系两个属性上的投影:
) M6 g# E! e- D# j; ~6 G; j: u  ΠSname,Sdept(Student) 6 U- o  a: @- m$ m7 S
  或
4 C/ `8 D; c+ U/ ^& N  Π2,5(Student) ; g0 L% V, m2 F1 W; Y- b4 ], x" t; t0 }
  结果如图2-7(a)。
1 R* Q+ v, u# [  投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组,因为取消了某些属性列后,就可能出现重复行,应取消这些完全相同的行。 + t$ r/ o' f& T1 M! _
  例4 查询学生关系Student中都有哪些系,即查询学生关系Student在所在系属性上的投影
7 l3 b2 k. z* b( }% [+ I5 g  ΠSdept(Student) 8 b% t3 V5 I$ K9 @! U: O
  投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组,因为取消了某些属性列后,就可能出现重复行,应取消这些完全相同的行。
6 f* C( V' W3 _0 J0 K5 p9 ^  连接(Join)   连接也称为θ连接。它是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。记作:2 @3 B. }1 T0 a" x
  4 i( I+ |% v0 K
  其中A和B分别为R和S上度数相等且可比的属性组。θ是比较运算符。连接运算从R和S的笛卡尔积R×S中选取(R关系)在A属性组上的值与(S关系)在B属性组上值满足比较关系θ的元组。
7 R1 v* r$ \% |2 Z1 a4 O( J' t/ a! p7 d' S. h! n8 @2 i6 I# o
  连接运算中有两种最为重要也最为常用的连接,一种是等值连接(equi-join),另一种是自然连接(Natural join)。 # W- [# d& b( v" \' K2 L" Q
  θ为“=”的连接运算称为等值连接。它是从关系R与S的笛卡尔积中选取A、B属性值相等的那些元组。即等值连接为:
3 {: P; S$ p- _4 Y4 q) X  
& k, ]* x, V- A" P8 y  自然连接(Natural join)是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且要在结果中把重复的属性去掉。即若R和S具有相同的属性组B,则自然连接可记作:
2 P& d" ~, Y! V* [% _1 B& |* M  $ L  k, X0 W# V8 Q+ U
  一般的连接操作是从行的角度进行运算。但自然连接还需要取消了重复列,所以是同时从行和列的角度进行运算。 7 w2 }0 k: Q; T
  除(Division)
3 l, A6 Y' i3 v# q  给定关系R(X,Y)和S(Y,Z),其中X、Y、Z为属性组。R中的Y与S中的Y&127;可以有不同的属性名,但必须出自相同的域集。R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X上分量值x的象集Yx包含S在Y上投影的集合。记作:
! a1 t* f0 f. p; H  
* ^( J" E; Q5 t  其中Yx为x在R中的象集,x=tr[X]。
* A" y4 g6 \( j! s3 V& C  举例 , e# a' T" R- t, r( P
  例6 设关系R、S分别为图2-9中的(a)和(b),R÷S的结果为图2-9(c)。
( M% T0 u! C, C: x  T( h: v  在关系R中,A可以取四个值{a1, a2, a3, a4}。其中:
) j! }* y7 L8 M, I  a1的象集为{(b1,c2), (b2,c3), (b2,c1)} . J2 b" I; I1 j0 @
  a2的象集为{(b3,c7), (b2,c3)}
8 N5 @; W: j" Q8 J  a3的象集为{(b4,c6)}
6 Y9 |! j( B& Z" x4 I" X  a4的象集为{(b6,c6)}
/ ]9 G+ E5 M. ~  S在(B,C)上的投影为{(b1,c2), (b2,c3), (b2,c1)}   显然只有a1的象集(B,C)a1包含S在(B,C)属性组上的投影,所以R÷S={a1}。+ }5 V7 A6 A6 t/ ]: g" J) ~# Z& D9 ]1 R

& W6 P7 d6 H  u) u! C1 ?1 a% cR
+ P" {3 ?  s# B4 }8 t& U/ ~  8 b3 Y, e# I! Q$ p) W  e& |
S
1 |9 J1 x# d. g" b  9 r$ l8 k) R9 e/ D
R÷S
. [6 K% x" Z* ^4 O& }$ c6 OA' ^( Y0 h# o, G
B+ C" e0 x4 ~6 l3 U1 v3 r! |$ v+ p
C
. r6 j0 {/ v  D% N" u/ M9 rB
) T8 ~, ~2 |0 x$ k& PC. ^' p6 |/ n9 x  k/ U7 S( f
D
# e+ J$ [! r7 ?2 R1 ^+ \A
+ `; R3 t" i9 _" sa1
0 f1 W( i) T* s+ n" P) W+ hb1& }. ~* Q# ^" P2 s& ~: N+ U  u7 m
c2
# `% t+ ]; d! Sb1
# a$ p/ U3 ]% V4 i' J; {& jc22 s+ h: K: C. o% W1 ^0 R
d1
. M: E: p- k! d5 u$ H- p$ @a17 r" ~1 O1 F7 j" l3 A
a28 u8 M! ]" r8 w0 m8 |* P& q
b3
  j% r6 s- N( w" }c7) `) |5 ~- l. [* e) C) k8 E/ g$ u
b2
: ~# g% L% Q6 Gc17 z# N; `; F2 F  ?
d1) w; R$ d. q& M/ k( u" C
 
, `/ T5 K2 `7 x) N+ M" B. Fa3
, q, F. a7 K9 S, J, }) Nb4, s2 i2 r7 H/ l, Q
c6
* Q" t3 ]% V. L/ Y9 \b20 M+ g1 O, j) H8 Z) Y& t
c17 e, \6 q% S) x& v
d1+ S' s. V, Y5 k  A) V
 
( A" X5 `$ a  y) n; A! m& ]0 O3 aa1
2 s5 j% o2 y: i- X8 n' o3 y; z' Ab2  a3 l- A5 \- A) K3 S' |* @  s# {
c3* Y% D& q- ]- q% Y! _* s
b2
3 D! p: r& K" i9 o! f3 Z7 o2 M- {c3
$ ^9 @: }: T! Y/ R0 v+ l4 w* H; pd2% l0 K8 l3 P0 Z  S0 a
 
7 t( {/ ?4 \8 \1 ^+ Ha4  C8 a5 u4 T3 I- E' }* T! l( Y
b6
4 g8 \+ K4 t. K" P( E. nc6
3 Q8 F" m; M; F+ `  % v* n6 b& Z' T- j
 
. V* p9 ]# I% ^: ^9 v" Z3 u3 m" | 
2 y: g' i6 v% h# G. ~% d 
5 h3 ]- ]2 X. qa2( A! A: ^% q3 P$ ]
b2
& N* E  ?( X7 U0 N' P5 M3 a5 `c3
( @8 A: H" p. ~2 {1 b+ j7 ]. m9 @3 t4 u 
5 ]& t& H  i, [5 y3 [ 
- }8 |7 A+ ^. M9 n3 X& z  k  x; I  ' A  h# W1 T, X: R, M  u& N
 
9 j  C6 o! A( ?7 oa1" V" l& p" `9 m/ i1 f
b2& P" G- R  w% p+ V- T7 L8 s
c1) G* ^" H! E  A2 `3 j5 {
  8 B+ F: w, E  j1 ?" Z6 d
 
% A7 R5 ?( E; Y0 Y  ( F5 g( e5 D' O% V) H& e
  , Y6 u( u$ y- I' k5 e. K; d2 J
(a)
0 h- D/ L% s* v0 K/ p1 [- @3 C7 ?4 F(b)
! R/ p" J8 n0 m6 Y(c)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-18 10:29 , Processed in 0.186663 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表