2023年對數(shù)據(jù)庫的總結 數(shù)據(jù)庫應用實訓總結(五篇)

字號:

    總結是對過去一定時期的工作、學習或思想情況進行回顧、分析,并做出客觀評價的書面材料,它可使零星的、膚淺的、表面的感性認知上升到全面的、系統(tǒng)的、本質的理性認識上來,讓我們一起認真地寫一份總結吧。那關于總結格式是怎樣的呢?而個人總結又該怎么寫呢?下面是小編為大家?guī)淼目偨Y書優(yōu)秀范文,希望大家可以喜歡。
    對數(shù)據(jù)庫的總結 數(shù)據(jù)庫應用實訓總結篇一
    需要在找找》
    1.數(shù)據(jù)庫有什么特點?
    主要特點(1)實現(xiàn)數(shù)據(jù)共享。(2)減少數(shù)據(jù)的冗余度。(3)數(shù)據(jù)的獨立性。(4)數(shù)據(jù)實現(xiàn)集中控制。(5)數(shù)據(jù)一致性和可維護性,以確保數(shù)據(jù)的安全性和可靠性。主要包括:①安全性控制:以防止數(shù)據(jù)丟失、錯誤更新和越權使用; ②完整性控制:保證數(shù)據(jù)的正確性、有效性和相容性; ③并發(fā)控制:使在同一時間周期內,允許對數(shù)據(jù)實現(xiàn)多路存取,又能防止用戶之間的不正常交互作用; ④故障的發(fā)現(xiàn)和恢復:由數(shù)據(jù)庫管理系統(tǒng)提供一套方法,可及時發(fā)現(xiàn)故障和修復故障,從而防止數(shù)據(jù)被破壞(6)故障恢復。由數(shù)據(jù)庫管理系統(tǒng)提供一套方法,可及時發(fā)現(xiàn)故障和修復故障,從而防止數(shù)據(jù)被破壞。
    2.數(shù)據(jù)庫系統(tǒng)是數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、硬件、操作人員的合在一起的總稱 數(shù)據(jù)庫管理系統(tǒng),用來管理數(shù)據(jù)及數(shù)據(jù)庫的系統(tǒng)。數(shù)據(jù)庫系統(tǒng)包含數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫及數(shù)據(jù)庫開發(fā)工具所開發(fā)的軟件(數(shù)據(jù)庫應用系統(tǒng))。
    3.內模式 內模式也稱存儲模式,一個數(shù)據(jù)庫只有一個內模式。它是數(shù)據(jù)物理結構和存儲方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫內部的表示方式。
    4.外模式也稱子模式或用戶模式,是數(shù)據(jù)庫用戶(包括應用程序員和最終用戶)能夠看見和使用的局部數(shù)據(jù)的邏輯結構和特征的描述,是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與某一應用有關的數(shù)據(jù)的邏輯表示。
    5.數(shù)據(jù)模型的三要素:數(shù)據(jù)結構、數(shù)據(jù)操作及完整性約束條件 1):數(shù)據(jù)結構,就是前面說的數(shù)據(jù)在數(shù)據(jù)區(qū)中的存儲結構,在關系模型中就是采用的關系模型了,就是“二維表”的形式
    2):數(shù)據(jù)操作,指的是對數(shù)據(jù)的一些操作,包括查詢、刪除、更新、插入等等
    3):數(shù)據(jù)的完整性約束:就是對所存數(shù)據(jù)的約束規(guī)則,有實體完整性、參照完整性等等,就是取值唯
    一、不能為空等一系列操作
    6.e-r圖即實體-聯(lián)系圖(entity relationship diagram),是指提供了表示實體型、屬性和聯(lián)系的方法,用來描述現(xiàn)實世界的概念模型。
    圖的基本要素:實體(即數(shù)據(jù)對象)、關系和屬性 8.概念數(shù)據(jù)模型是按用戶的觀點對數(shù)據(jù)和信息建模,是現(xiàn)實世界到信息世界的第一層抽象?;緮?shù)據(jù)模型是按計算機系統(tǒng)的觀點對數(shù)據(jù)建模,是現(xiàn)實世界數(shù)據(jù)特征的抽象,用于dbms的實現(xiàn)(層次模型,網狀模型,關系模型)(1)可以定制生成標準的模型報告;(2)可以轉換為面向對象模型(oom);
    (3)完成多種數(shù)據(jù)庫的詳細物理設計(涵蓋常用的各種數(shù)據(jù)庫的dbms),腳本;
    9.數(shù)據(jù)流圖是結構化分析方法中使用的工具,它以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動和處理的過程,由于它只反映系統(tǒng)必須完成的邏輯功能,所以它是一種功能模型。
    →:數(shù)據(jù)流(流動的數(shù)據(jù),有流向)
    □:外部實體(不同于數(shù)據(jù)庫實體,指人,物,部門,科室,單位等)○:數(shù)據(jù)處理(對數(shù)據(jù)的加工,是對數(shù)據(jù)進行處理的單元,指功能模塊,能做什么)〒:數(shù)據(jù)存儲
    (信息的靜態(tài)存儲)
    10.數(shù)據(jù)字典(data dictionary,dd)各類數(shù)據(jù)描述的集合,它是關于數(shù)據(jù)庫中數(shù)據(jù)的描述,即元數(shù)據(jù)。
    通常包括數(shù)據(jù)項、數(shù)據(jù)結構、數(shù)據(jù)流、數(shù)據(jù)存儲和處理過程五個部分。11.主鍵和外鍵的關系(案例題)
    12.用t-sql語句如何創(chuàng)建表 如何刪除表
    ppt 6-2 13.笛卡爾積(cartesian product)通俗點說就是指包含兩個集合中任意取出兩個元素構成的組合的集合。
    設:關系r為m列(m 個屬性),k1行(k1個元組); 關系s為n列(n個屬性),k2行(k2個元組)。
    ? 公式:r×s={trts │tr ∈r ∧ ts ∈s } ? 語義:笛卡爾積仍是一個關系,該關系的結構是r和s結構之連接,即前m 個屬性來自r,后n個屬性來自s,該關系的值是由r中的每個元組連接s中的每個元組所構成元組的集合。
    ? 注意:新關系的屬性個數(shù)等于m+n,元組個數(shù)等于k1*k2。
    ? 14.投影(projection)
    設:t是關系r中的一個元組,a是要從r中投影出的屬性子集。
    ? 公式:∏a(r)={ t.a│t ∈r } ? 語義:從關系r中按所需順序選取若干個屬性構成新關系。
    ? 注意:新關系的元組數(shù)小于等于原關系的元組數(shù),新關系的屬性數(shù)不多于原關系中的屬性數(shù)。
    ? ∏是希臘字母,即π的大寫形式,在數(shù)學中表示求積運算或直積運算,形式上類似于σ,有時也用來代表圓周率值,即讀作/pai/ ? 15.連接(join)
    設:a,b分別是關系r和s中的屬性,t是連接關系中的一個元組。
    ? 公式:
    ? 語義:兩個關系r和s按相應屬性值的比較條件連接起來,生成一個新關系,也稱為θ連接。
    ? 等值連接
    – r×s+選擇(θ為=)
    – 按照兩關系中對應屬性值相等的條件所進行的連接
    ? 自然連接
    – 等值連接+去重復屬性 – 記作:r
    s 16.第一范式(1nf):在關系模式r中的每一個具體關系r中,如果每個屬性值 都是不可再分的最小數(shù)據(jù)單位,則稱r是第一范式的關系。第二范式(2nf):如果關系模式r(u,f)中的所有非主屬性都完全依賴于任意一個候選關鍵字,則稱關系r 是屬于第二范式的。
    第三范式(3nf):如果關系模式r(u,f)中的所有非主屬性對任何候選關鍵字都不存在傳遞信賴,則稱關系r是屬于第三范式的。
    17.字符串的定界符可以用單引號,雙引號,和方括號, :返回從字符串左邊開始指定個數(shù)的字符
    19.索引的特點:有效組織表數(shù)據(jù)的方式它由表中一列或多列按照一定的排列順序組成。、用戶可以通過合理地創(chuàng)建索引大大提高數(shù)據(jù)庫的查找速度 索引也可以保證列的唯一性,從而確保表中數(shù)據(jù)的完整性
    索引中包含鍵值,這些鍵值存儲在一種數(shù)據(jù)結構(b-樹)中,通過鍵值可以快速地找到與鍵值相關的數(shù)據(jù)記錄
    索引創(chuàng)建原則:經常被查詢的列 需要排序的列 外鍵或主鍵列 值唯一的列
    在下列情況下不適合建立索引。在查詢中很少被引用的列。
    包含太多重復值的列。
    數(shù)據(jù)類型為bit、varchar(max)、varbinary(max)等的列不能建立索引。
    20.聚簇索引的特點:聚簇索引確定表中數(shù)據(jù)的物理順序。聚簇索引類似于電話簿,后者按姓氏排列數(shù)據(jù)。由于聚簇索引規(guī)定數(shù)據(jù)在表中的物理存儲順序,因此一個表只能包含一個聚簇索引。但該索引可以包含多個列(組合索引),就像電話簿按姓氏和名字進行組織一樣。漢語字典也是聚簇索引的典型應用,在漢語字典里,索引項是字母+聲調,字典正文也是按照先字母再聲調的順序排列。
    聚簇索引對于那些經常要搜索范圍值的列特別有效。使用聚簇索引找到包含第一個值的行后,便可以確保包含后續(xù)索引值的行在物理相鄰。例如,如果應用程序執(zhí)行的一個查詢經常檢索某一日期范圍內的記錄,則使用聚集索引可以迅速找到包含開始日期的行,然后檢索表中所有相鄰的行,直到到達結束日期。這樣有助于提高此類查詢的性能。同樣,如果對從表中檢索的數(shù)據(jù)進行排序時經常要用到某一列,則可以將該表在該列上聚簇(物理排序),避免每次查詢該列時都進行排序,從而節(jié)省成本。聚集索引根據(jù)鍵值的大小對行進行物理排序,所以每個表只能有一個聚集索引。
    table 修改表 update 更新表 為數(shù)據(jù)表創(chuàng)建索引的目的:a 提高查詢檢索的性能
    23;創(chuàng)建索引的兩種方法:在【新建索引】窗口中創(chuàng)建索引(1 用索引創(chuàng)建向導創(chuàng)建索引;2 直接創(chuàng)建索引)
    使用ssms創(chuàng)建索引 使用t-sql創(chuàng)建表的索引 24一對一關聯(lián):在一對一關系中,a 表中的一行最多只能匹配于 b 表中的一行,反之亦然。如果相關列都是主鍵或都具有唯一約束,則可以創(chuàng)建一對一關系。25:什么是數(shù)據(jù)表:一個數(shù)據(jù)庫中可能包含若干個數(shù)據(jù)表。
    數(shù)據(jù)表是數(shù)據(jù)庫中一個非常重要的對象,是其他對象的基礎。沒有數(shù)據(jù)表,關鍵字、主鍵、索引等也就無從談起。在數(shù)據(jù)庫畫板中可以顯示數(shù)據(jù)庫中的所有數(shù)據(jù)表(即使不是用powerbuilder創(chuàng)建的表),創(chuàng)建數(shù)據(jù)表,修改表的定義等數(shù)據(jù)表是數(shù)據(jù)庫中一個非常重要的對象,是其他對象的基礎。
    數(shù)據(jù)表(或稱表)是數(shù)據(jù)庫最重要的組成部分之一。數(shù)據(jù)庫只是一個框架,數(shù)據(jù)表才是其實質內容。根據(jù)信息的分類情況,一個數(shù)據(jù)庫中可能包含若干個數(shù)據(jù)表。26;sql: 結構化查詢語言(structured query language)”
    其關系數(shù)據(jù)庫管理系統(tǒng)system r開發(fā)的一種查詢語言,它的前身是square語言。sql語言結構簡潔,功能強大,簡單易學,sql語言是一種數(shù)據(jù)庫查詢和程序設計語言,用于存取數(shù)據(jù)以及查詢、更新和管理關系數(shù)據(jù)庫系統(tǒng);同時也是數(shù)據(jù)庫腳本文件的擴展名。
    語言特點:一體化 使用反式靈活 非過程化 語言簡潔 語法簡單 好學好用
    27:交叉連接查詢:交叉連接不帶where 子句,它返回被連接的兩個表所有數(shù)據(jù)行的笛卡爾積,返回到結果集合中的數(shù)
    據(jù)行數(shù)等于第一個表中符合查詢條件的數(shù)據(jù)行數(shù)乘以第二個表中符合查詢條件的數(shù)據(jù)行數(shù)。例,titles表中有6類圖書,而publishers表中有8家出版社,則下列交叉連接檢索到的記錄數(shù)將等 于6*8=48行。
    28;什么情況下應該盡量創(chuàng)建索引:數(shù)據(jù)量大(建議分區(qū))、數(shù)據(jù)插入刪除不是太頻繁、又需要經常按某些字段進行條件檢索的表。在一個或者一些字段需要頻繁用作查詢條件,并且表數(shù)據(jù)較多的時候,創(chuàng)建索引會明顯提高查詢速度,因為可由全表掃描改成索引掃描。(無索引時全表掃描也就是要逐條掃描全部記錄,直到找完符合條件的,索引掃描可以直接定位)索引并不是越多越好,太多索引會占用很多的索引表空間,甚至比存儲一條記錄更多。對于需要頻繁新增記錄的表,最好不要創(chuàng)建索引,沒有索引的表,執(zhí)行insert、append都很快,有了索引以后,會多一個維護索引的操作,一些大表可能導致insert 速度非常慢 29:sql sever 中的數(shù)據(jù)類型
    sql中的五種數(shù)據(jù)類型:字符型,文本型,數(shù)值型,邏輯型和日期型
    30:關系數(shù)據(jù)庫中的投影操作是指從關系中。a.去掉若干屬性列組成新的關系 b.選擇出若干屬性列組成新的關系 c.去掉滿足條件的諸元組 d.選擇滿足條件的諸元組(a 抽出特定的記錄 b抽出特定的字段 c建立相應的影像 d建立相應的視圖)31:關系數(shù)據(jù)模型有許多優(yōu)點,但下面所列的條目中哪一條不是它的優(yōu)點? a.結構簡單
    b.適用于集合操作 c.有標準語言
    d.可表示復雜的語義 正確答案:d 解析:關系模型由關系數(shù)據(jù)結構、關系操作集合和關系完整性約束3大要素組成。關系模型的數(shù)據(jù)結構單一,在關系模型中,現(xiàn)實世界的實體以及實體間的各種聯(lián)系均用關系來表示。關系操作的特點是集合操作方式,即操作的對象和結果都是集合。關系代數(shù)、元組關系演算和域關系演算均是抽象的查詢語言這些抽象的語言與具體的dbms中實現(xiàn)的實際語言并不完全一樣,但它們能用作評估實際系統(tǒng)中查詢語言能力的標準或基礎。數(shù)據(jù)庫的數(shù)據(jù)完整性是指數(shù)據(jù)庫中數(shù)據(jù)的正確性和相容性,那是一種語義概念,包括兩個主要方面:與現(xiàn)實世界中應用需求的數(shù)據(jù)的相容性和正確性。數(shù)據(jù)庫內數(shù)據(jù)之間的相容性和正確性。32數(shù)據(jù)庫概念模型應具備(特點。?。S富的語言表達能力 ⅱ.易于交流和理解 ⅲ.易于變動 ⅳ.易于向各種數(shù)據(jù)模型轉換 a.ⅰ和ⅱ b.ⅰ、ⅱ、ⅲ c.ⅱ、ⅲ、ⅳ d.全是
    正確答案:d 概念模型應具有較強的語義表達能力,簡單,清晰,易于用戶理解。易于項其他數(shù)據(jù)模型轉換
    (相關知識)組織、存儲和管理數(shù)據(jù)的倉庫
    32關系數(shù)據(jù)庫的規(guī)范化理論指出,關系數(shù)據(jù)庫中的關系應滿足一定的要求,最起碼的要求是達到1nf,既滿足()。a: 主關鍵字唯一標識表中的每一行 b: 關系中的行不允許重復 c: 每個非關鍵字列都完全依賴于主關鍵字 d: 每個屬性都有是不可再分的基本數(shù)據(jù)項 33關系數(shù)據(jù)庫管理系統(tǒng)能實現(xiàn)的專門關系運算包括。a.排序、索引、統(tǒng)計 b.選擇、投影、連接c.關聯(lián)、更新、排序 d.顯示、打印、制表
    34.概念結構設計階段得到的結果是______。a、包括存儲結構和存取方法的物理結構 b、某個dbms所支持的數(shù)據(jù)模型 c、e-r圖表示的概念模型 d、數(shù)據(jù)字典描述的數(shù)據(jù)需求 35數(shù)據(jù)庫需求分析階段的主要任務:對現(xiàn)實世界要處理的對象(組織、部門、企業(yè))等進行詳細的調查,通過對原系統(tǒng)的了解,手機支持新系統(tǒng)的基礎數(shù)據(jù)并對其進行處理,在此基礎上確定新系統(tǒng)的功能。
    用戶需求分析階段的主要工作包括2方面:可行性分析
    成本(資源)分析
    哪個不是dba數(shù)據(jù)庫管理員的職責
    a完整性約束說明 b定義數(shù)據(jù)庫模式 c數(shù)據(jù)庫安全 d數(shù)據(jù)庫管理系統(tǒng)設計
    下列工作中,不屬于數(shù)據(jù)庫管理員dba的職責是()。a.建立數(shù)據(jù)庫
    b.輸入和存儲數(shù)據(jù)庫數(shù)據(jù) c.監(jiān)督和控制數(shù)據(jù)庫的使用 d.數(shù)據(jù)庫的維護和改進
    以下是公認的dba職責:
    1、監(jiān)視數(shù)據(jù)庫。
    2、記錄和統(tǒng)計系統(tǒng)和性能的表現(xiàn)技術信息。
    3、構造數(shù)據(jù)庫框架、配置數(shù)據(jù)庫實例。
    4、維護數(shù)據(jù)庫網絡安全,過濾非法查詢信息。
    5、及時備份數(shù)據(jù)庫
    6、利用備份,還原數(shù)據(jù)庫,甚至是遷移數(shù)據(jù)庫。
    7、為開發(fā)人員定制、配置專用的測試服務器。
    8、數(shù)據(jù)庫技術最新的研發(fā)方向。
    9、數(shù)據(jù)庫調優(yōu)。
    10、完整熟悉數(shù)據(jù)庫操作流程。
    11、診斷數(shù)據(jù)庫,找出數(shù)據(jù)庫的不足之處和生成數(shù)據(jù)庫解決方案。
    12、完整培訓數(shù)據(jù)庫系統(tǒng)那個環(huán)境。
    13、與系統(tǒng)管理員保持良好的合作關系。
    14、創(chuàng)建有效的、定期維護的安全的數(shù)據(jù)庫。37:
    數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)獨立性是指,當系統(tǒng)數(shù)據(jù)存儲結構與數(shù)據(jù)邏輯結構發(fā)生變化時,不會影響應用程序。
    數(shù)據(jù)獨立性包括物理獨立性和邏輯獨立性。物理獨立性指應用程序與存儲在磁盤的數(shù)據(jù)庫中數(shù)據(jù)相互獨立,即數(shù)據(jù)物理存儲改變時應用程序不變。邏輯獨立性指應用程序與數(shù)據(jù)庫邏輯結構相互獨立,即數(shù)據(jù)邏輯結構改變時,應用程序可以不變。
    38在數(shù)據(jù)管理技術發(fā)展階段中,文件系統(tǒng)階段與數(shù)據(jù)庫系統(tǒng)階段的主要區(qū)別之一是數(shù)據(jù)庫系統(tǒng)()。
    a.數(shù)據(jù)可共享 b.數(shù)據(jù)可長期保存
    c.采用一定的數(shù)據(jù)模型組織數(shù)據(jù) d.有專門的軟件對數(shù)據(jù)進行管理 正確答案:c 解析:數(shù)據(jù)庫采用復雜的數(shù)據(jù)模型表示數(shù)據(jù)結構;數(shù)據(jù)共享性高、冗余度小、易擴充:有較高的數(shù)據(jù)獨立性;數(shù)據(jù)庫系統(tǒng)為用戶提供方便的用戶接口:系統(tǒng)提供數(shù)據(jù)庫的恢復、并發(fā)控制、數(shù)據(jù)完整性和數(shù)據(jù)安全性4個方面的數(shù)據(jù)控制功能。相對于文件系統(tǒng)管理數(shù)據(jù)的方式,它采用一定的數(shù)據(jù)模型來組織和管理數(shù)據(jù)。
    39數(shù)據(jù)庫系統(tǒng)有哪些特點:
    數(shù)據(jù)的結構化,數(shù)據(jù)的共享性好,數(shù)據(jù)的獨立性好,數(shù)據(jù)存儲粒度小,數(shù)據(jù)管理系統(tǒng),為用戶提供了友好的接口。數(shù)據(jù)庫系統(tǒng)的核心和基礎,是數(shù)據(jù)模型,現(xiàn)有的數(shù)據(jù)庫系統(tǒng)均是基于某種數(shù)據(jù)模型的。數(shù)據(jù)庫系統(tǒng)的核心是數(shù)據(jù)庫管理系統(tǒng)。數(shù)據(jù)庫系統(tǒng)一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(dbms)、應用系統(tǒng)、數(shù)據(jù)庫管理員和用戶構成。dbms是數(shù)據(jù)庫系統(tǒng)的基礎和核心。
    數(shù)據(jù)庫系統(tǒng)的主要特點有:1)實現(xiàn)數(shù)據(jù)共享,減少數(shù)據(jù)冗余2)采用特定的數(shù)據(jù)模型3)具有較高的數(shù)據(jù)獨立性4)有統(tǒng)一的數(shù)據(jù)控制功能另外,數(shù)據(jù)庫系統(tǒng)由5大部分組成:硬件系統(tǒng),數(shù)據(jù)庫集合,數(shù)據(jù)庫管理系統(tǒng)及相關軟件,數(shù)據(jù)庫管理員和用戶
    40:數(shù)據(jù)庫,是一個長期存儲在計算機內的、有組織的、有共享的、統(tǒng)一管理的數(shù)據(jù)集合。數(shù)據(jù)庫是依照某種數(shù)據(jù)模型組織起來并存放二級存儲器中的數(shù)據(jù)集合。
    41:數(shù)據(jù)庫的發(fā)展歷史經歷了人工管理、文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)三個發(fā)展階段。人工管理數(shù)據(jù)具有如下特點
    1、數(shù)據(jù)不保存
    2、數(shù)據(jù)需要由應用程序自己管理沒有相應的軟件系統(tǒng)負責數(shù)據(jù)的管理工作
    3、數(shù)據(jù)不共享
    4、數(shù)據(jù)不具有獨立性數(shù)據(jù)的邏輯結構或物理結構發(fā)生變化后必須對應用程序做相應的修改這就進一步加重了程序員的負擔。
    文件系統(tǒng)階段特點為
    1、數(shù)據(jù)可以長期保存
    2、由專門的軟件即文件系統(tǒng)進行數(shù)據(jù)管理
    使應用程序與數(shù)據(jù)之間有了一定的獨程序和數(shù)據(jù)之間由軟件提供的存取方法進行轉換立性程序員可以不必過多地考慮物理細節(jié)將精力集中于算法。
    3、數(shù)據(jù)共享性差
    4、數(shù)據(jù)獨立性低
    數(shù)據(jù)庫系統(tǒng)階段特點為
    1、數(shù)據(jù)結構化
    2、數(shù)據(jù)的共享性好冗余度低
    3、數(shù)據(jù)獨立性高
    4、數(shù)據(jù)由dbms統(tǒng)一管理和控制
    一、人工管理階段:特點
    數(shù)據(jù)的管理者:人
    數(shù)據(jù)面向的對象:某一應用程序
    數(shù)據(jù)的共享程度:無共享,冗余度極大
    數(shù)據(jù)的獨立性:不獨立,完全依賴于程序 數(shù)據(jù)的結構化:無結構
    數(shù)據(jù)控制能力:應用程序自己控制
    二、文件系統(tǒng)階段:特點
    數(shù)據(jù)的管理者:文件系統(tǒng)
    數(shù)據(jù)面向的對象:某一應用程序
    數(shù)據(jù)的共享程度:共享性差,冗余度大
    數(shù)據(jù)的獨立性:獨立性差
    數(shù)據(jù)的結構化:記錄內有結構,整體無結構 數(shù)據(jù)控制能力:應用程序自己控制
    三、數(shù)據(jù)庫系統(tǒng)階段:特點
    數(shù)據(jù)的管理者:數(shù)據(jù)庫管理系統(tǒng)
    數(shù)據(jù)面向的對象:整個應用系統(tǒng)
    數(shù)據(jù)的共享程度:共享性高,冗余度小
    數(shù)據(jù)的獨立性:具有高度的物理獨立性和邏輯獨立性
    數(shù)據(jù)的結構化:整體結構化,用數(shù)據(jù)模型描述
    數(shù)據(jù)控制能力:由數(shù)據(jù)庫管理系統(tǒng)提供數(shù)據(jù)安全性、完整性、并發(fā)控制和恢復能力(其中數(shù)據(jù)獨立性最高的階段是數(shù)據(jù)庫系統(tǒng)階段.)
    未知:1關系數(shù)據(jù)模型三要素 2物理模式 內模式 子模式 3 identify 的使用特點
    4;在數(shù)據(jù)模型中的家族關系的特點 sever 2008的系統(tǒng)數(shù)據(jù)庫是什么 6什么是子數(shù)據(jù)表
    上機操作:1、用select語句查詢前十行數(shù)據(jù)、用select語句查詢前20%的數(shù)據(jù) 3、用select語句查詢指定列數(shù)據(jù)
    4、什么是查詢設計器
    5、在select語句中如何使用group by
    6、exists子查詢語句如何使用
    7、insert into 插入語句如何使用 8 update delect語法格式
    9、用select語句能夠進行模糊查詢 –like 如何使用
    10、用select語句如何使用聚合函數(shù)進行統(tǒng)計 匯總 分組
    11、 sever中如何進行自動編號設計
    什么是自動編號
    12、not in 的使用 any some all 的使用、select can’(*)的使用
    對數(shù)據(jù)庫的總結 數(shù)據(jù)庫應用實訓總結篇二
    數(shù)據(jù)管理技術的發(fā)展經歷了3個階段:人工管理階段、文件系統(tǒng)階段、數(shù)據(jù)庫管理階段。數(shù)據(jù)庫的三級模式由[模式]、[外模式]、[內模式]組成。(模式又叫概念模式、邏輯模式,外模式又叫子模式、用戶模式,內模式又叫存儲模式)外模式/模式映像反映了數(shù)據(jù)的邏輯獨立性,模式/內模式映像反映了數(shù)據(jù)的物理獨立性 數(shù)據(jù)模型由數(shù)據(jù)結構、數(shù)據(jù)操作、和完整性約束三要素組成
    關系模型是第二代數(shù)據(jù)庫的主要特征,其結構比較簡單,數(shù)據(jù)本身以二維表形式進行存儲,表之間的數(shù)據(jù)聯(lián)系是通過一個表的碼與另一個表的碼的連接來實現(xiàn)的。數(shù)據(jù)邏輯獨立性是指模式改變,外模式和應用程序不變。物理獨立性是指內模式改變,模式不變
    數(shù)據(jù)庫系統(tǒng)中,用概念模式(即模式)描述全部數(shù)據(jù)的整體邏輯結構
    數(shù)據(jù)庫系統(tǒng)中用戶使用的數(shù)據(jù)視圖用外模式描述,它是用戶與數(shù)據(jù)庫系統(tǒng)的接口 ∏是投影運算,倒寫的6字是選擇運算 笛卡爾積重點看一下p27中間部分舉的例子 記錄是字段的有序集合
    字段:標記實體屬性的命名單位稱為字段如學生有學號、姓名、年齡、性別等字段 元祖:二維表中的行即記錄值稱為元祖
    增刪改查語句對應的關鍵字分別為insert、delete、update、select 修改表的結構使用的是alter table語句添加一列用add關鍵字、修改一列用alter column 刪除一列用drop column 如alter table student add 身份證號 varchar(18);表示修改student表的結構,在其中添加身份證號一列(主) , 開啟事務:begin transation 提交事務:commit transaction 回滾事務:rollback transaction 主鍵:primary key 外鍵:foreign key 實體之間的聯(lián)系有1:
    1、1:m、m:n,即1對1,一對多、多對多 聚合函數(shù):
    sum:求和 max:求最大值 count:計數(shù) avg:求平均值 grant:授權 revoke:收回權限 constraint:約束
    數(shù)據(jù)庫設計的步驟:需求分析階段、概念設計階段、邏輯設計階段、物理設計階段、數(shù)據(jù)庫實現(xiàn)階段、數(shù)據(jù)庫的運行與維護階段
    事務具有四個特征原子性、一致性、隔離性、持久性 p116參考答案:
    1. 題干:數(shù)據(jù)庫中有四張表客戶表:customers、代理人表agents、產品表products和訂單表orders;
    其中客戶表customers各屬性如下:
    cid 客戶編號、cname客戶名、city客戶所在城市 代理人表agents各如下屬性
    aid代理人編號、aname代理人姓名、city代理人所在城市 產品表products中各屬性如下
    pid產品編號、pname產品名稱、quantity產品銷售數(shù)量、price產品單價 訂單表orders表中各屬性如下 ord_no訂單號、month訂單月份,cid客戶編號、aid代理人編號、pid產品編號、qty訂貨數(shù)量、amount訂貨總金額;
    根據(jù)以上四個表編寫存儲過程實現(xiàn)如下要求:
    ①給指定產品編號的單價增加0.5元
    create procedure pro_update_products @pid char(10)as update products set price=price+0.5 where pid=@pid go ②插入一個新的產品記錄到產品表products中
    create procedure pro_insert_products @pid char(10), @pname varchar(30), @quantity int, @price float as insert into products values(@pid,@pname,@quantity,@price)go
    ③查詢某客戶通過某代理訂購產品的訂貨總量 create procedure pro_query_amount @cname varchar(20), @aname varcha(20)as select amount from customers c,orders o,agents a where = and = and =@cname and =@aname go
    2.根據(jù)第一題的四個表用觸發(fā)器實現(xiàn)以下操作
    ①當向產品表products插入數(shù)據(jù)時,規(guī)定產品單價不得低于0.5元,若低于0.5元則統(tǒng)一調整為0.5元,同時提示用戶“產品單價不得低于0.5元” create trigger tri_products on products for insert as declare @pid char(10),@price float select @pid=pid,@price=price from inserted if @price<0.5 begin update products set price=0.5 where pid=@pid print ‘產品單價不得低于0.5元’ end go
    ②當訂單表orders中的訂貨數(shù)量有變動時,觸發(fā)器自動修改該項訂單的訂貨總金額amount create trigger tri_orders on orders for update as declare @ord_no char(10),@pid char(10),@qty int,@price float if update(qty)begin select @ord_no,@pid=pid,@qty=qty from inserted select @price=price from products where pid=@pid update orders set amount=@price*@qty where ord_no=@ord_no end go
    第四章第2題的參考答案p91 設有三個關系
    s(s#,sname,sex,age)sc(s#,c#,grade)c(c#,cname,teacher)用select語句完成下列查詢
    ①檢索liu老師所受課程的課程號和課程名
    select c#,cname from c where teacher=’liu’;
    ②檢索年齡大于23歲的男同學的學號和姓名
    select s#,sname from s where sex=’男’ and age>23;
    ③檢索學號為s3的學生所學課程的課程名與授課老師名
    select cname,teacher from sc,c where sc.c#=c.c# and sc.s#=’s3’;
    ④檢索至少選修liu老師所受課程中一門課程的女學生姓名
    select distinct sname from s,sc where =’女’ and s.s#=sc.s# and sc.c# =any(select c# from c where teacher=’liu’); ⑤檢索wang同學不學課程的課程號
    select c# from c where c# not in(select c# from sc,s where sc.s#=c.c# and =’wang’);
    ⑥檢索至少選修兩門課的學生學號
    select s# from sc group by s# having count(c#)>=2; ⑦檢索全部學生都選修的課程的課程號和課程名
    select c#,cname from c where c# in(select c# from sc where s#=all(select s# from s))⑧檢索選修課程包含liu老師所受全部課程的學生學號
    select s# from sc where c# =all(select c# from c where teacher=’liu’)
    對數(shù)據(jù)庫的總結 數(shù)據(jù)庫應用實訓總結篇三
    第一章
    數(shù)據(jù)庫系統(tǒng)概論
    1.試述數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)的概念。
    數(shù)據(jù):描述事物的符號記錄稱為數(shù)據(jù)。數(shù)據(jù)的種類有文字、圖形、圖象、聲音、正文等等。數(shù)據(jù)與其語義是不可分的。
    數(shù)據(jù)庫:數(shù)據(jù)庫是長期儲存在計算機內、有組織的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲存,具有較小的冗余度、較高的數(shù)據(jù)獨立性和易擴展性,并可為各種用戶共享。
    數(shù)據(jù)庫系統(tǒng):數(shù)據(jù)庫系統(tǒng)(dbs)是指在計算機系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng)構成。數(shù)據(jù)庫系統(tǒng)由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)、應用系統(tǒng)、數(shù)據(jù)庫管理員構成。
    數(shù)據(jù)庫管理系統(tǒng):數(shù)據(jù)庫管理系統(tǒng)(dbms)是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。用于科學地組織和存儲數(shù)據(jù)、高效地獲取和維護數(shù)據(jù)。dbms主要功能包括數(shù)據(jù)定義功能、數(shù)據(jù)操縱功能、數(shù)據(jù)庫的運行管理功能、數(shù)據(jù)庫的建立和維護功能。
    2.什么是數(shù)據(jù)獨立性?數(shù)據(jù)獨立性又分為哪兩個層次?為什么需要數(shù)據(jù)獨立性?
    數(shù)據(jù)獨立性是用來描述數(shù)據(jù)與應用程序之間的依賴程度,包括數(shù)據(jù)的物理獨立性和數(shù)據(jù)的邏輯獨立性,依賴程度越低則獨立性越高
    物理獨立性是指用戶的應用程序與存儲在磁盤上的數(shù)據(jù)庫的數(shù)據(jù)時相互獨立的。邏輯獨立性是指用戶的應用程序與數(shù)據(jù)庫的邏輯結構是相互獨立的。
    作用:數(shù)據(jù)在磁盤上怎樣存儲由dbms管理,用戶程序不需要了解,應用程序要處理的只是數(shù)據(jù)的邏輯結構,這樣當數(shù)據(jù)的物理存儲改變了,應用程序不用改變。數(shù)據(jù)獨立性是通過數(shù)據(jù)庫管理系統(tǒng)的兩層映像功能來實現(xiàn) 3.什么是數(shù)據(jù)模型?數(shù)據(jù)模型的基本要素有哪些?為什么需要數(shù)據(jù)模型?
    數(shù)據(jù)模型是描述數(shù)據(jù)語義、數(shù)據(jù)與數(shù)據(jù)之間聯(lián)系(數(shù)據(jù)結構)、數(shù)據(jù)操作,以及一致性約束的概念和工具的集合數(shù)據(jù)模型的基本要素:
    ①數(shù)據(jù)結構:是所研究的對象類型的集合,是對系統(tǒng)的靜態(tài)特性的描述。
    ②數(shù)據(jù)操作:是指對數(shù)據(jù)庫中各種對象(型)的實例(值)允許進行的操作的集合,包括操作及有關的操作規(guī)則,是對系統(tǒng)動態(tài)特性的描述。
    ③數(shù)據(jù)的約束條件:是完整性規(guī)則的集合,完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相容。
    作用:一般地講,數(shù)據(jù)模型是嚴格定義的概念的集合。這些概念精確地描述系統(tǒng)的靜態(tài)特性、動態(tài)特性和完整性約束條件。
    4.為什么數(shù)據(jù)模型要分為概念模型,邏輯模型和物理模型三類?試分別解釋概念模型、邏輯模型和物理模型
    為什么:數(shù)據(jù)模型應滿足3方面的要求:一是能比較真實的模擬現(xiàn)實世界;二是容易被人所理解;三是便于在計算機上實現(xiàn)。一種數(shù)據(jù)模型要很好地同時滿足這3個方面的要求是很困難的,因此,在數(shù)據(jù)庫管理系統(tǒng)中這對不同的使用對象和應用目的,采用不同的數(shù)據(jù)模型。
    概念模型:指概念層次的數(shù)據(jù)模型,也稱為信息模型,它按用戶的觀點或認識對現(xiàn)實世界的數(shù)據(jù)和信息進行建模,主要用于數(shù)據(jù)庫設計。常用的概念模型有實體聯(lián)系模型(e-r模型)和面向對象oo模型
    邏輯模型;用來描述數(shù)據(jù)庫數(shù)據(jù)的整體邏輯結構。傳統(tǒng)的邏輯數(shù)據(jù)模型有層次模型、網狀模型和關系模型,非傳統(tǒng)的邏輯數(shù)據(jù)模型有面向對象模型、xml模型等
    物理模型用來描述數(shù)據(jù)的物理存儲結構和存取方法 5.關系模型中的主要概念有哪些,試分別解釋之。
    關系模型由一組關系組成,每個關系的數(shù)據(jù)結構是一張規(guī)范化的二維表。關系模型中的常用術語有:關系、元組、屬性、碼、域、分量和關系模式等。關系模型要求關系必須是規(guī)范化的,即關系的每一個分量必須是一個不可分的數(shù)據(jù)項。關系數(shù)據(jù)模型的操作主要包括查詢、插入,刪除和修改(更新數(shù)據(jù))。關系數(shù)據(jù)模型的完整性約束條件包括實體完整性、參照完整性和用戶自定義完整性
    6.試解釋數(shù)據(jù)庫的三級模式結構和兩層映像。為什么數(shù)據(jù)庫管理系統(tǒng)要提供數(shù)據(jù)庫的三級模式結構和兩層映像?
    數(shù)據(jù)庫管理系統(tǒng)的數(shù)據(jù)抽象一般包括物理層抽象、邏輯層抽象和視圖層抽象三個級別。對應于數(shù)據(jù)抽象的三個級別,數(shù)據(jù)庫管理系統(tǒng)一般也提供觀察數(shù)據(jù)庫的三個不同角度,以方便不同的而用戶使用數(shù)據(jù)庫的需要,這就是數(shù)據(jù)庫的三級模式結構;內模式、模式和外模式
    為了能夠在系統(tǒng)內部實現(xiàn)三個抽象層次的數(shù)據(jù)之間的聯(lián)系和轉換,數(shù)據(jù)庫管理系統(tǒng)在數(shù)據(jù)庫的三級模式之間提供了兩層映像:外模式/模式映像、模式/內模式映像。正是這兩層映像保證了數(shù)據(jù)庫中的數(shù)據(jù)能夠具有較高的邏輯獨立性和物理獨立性 7.解釋模式、外模式、內模式、ddl、dml等概念
    內模式也稱存儲模式,對應于物理層數(shù)據(jù)抽象,它是數(shù)據(jù)的物理結構和存儲方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫內部的表示方式
    模式也稱為邏輯模式,賭贏與邏輯層數(shù)據(jù)抽象,是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結構和特征的描述,是所有用戶的公共數(shù)據(jù)視圖
    外模式也成子模式或用戶模式,對應于視圖層數(shù)據(jù)抽象,它是數(shù)據(jù)庫用戶(包括應用程序員和最終用戶)能夠看見和使用的局部數(shù)據(jù)的邏輯結構和特征的描述,是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與莫以具體運用有關的數(shù)據(jù)的邏輯表示
    數(shù)據(jù)庫模式定義語言ddl(data definition language),是用于描述數(shù)據(jù)庫中要存儲的現(xiàn)實世界實體的語言。一個數(shù)據(jù)庫模式包含該數(shù)據(jù)庫中所有實體的描述定義。這些定義包括結構定義、操作方法定義等。
    數(shù)據(jù)操縱語言dml,命令使用戶能夠查詢數(shù)據(jù)庫以及操作已有數(shù)據(jù)庫中的數(shù)據(jù)的計算機語言。具體是指是select查詢、update更新、insert插入、delete刪除。
    第二章 關系模型與關系代數(shù)
    1.名詞解釋
    域:一組具有相同數(shù)據(jù)類型的值的集合
    笛卡爾積:兩個分別為n目和m目的關系r和s的笛卡爾積是一個n+m目元組的集合 超碼:屬性集a能唯一標識關系r中的一個元組,則稱a為關系r的一個超碼 候選碼:對于關系r中一個或多個屬性的集合a,若屬性集a中的任意真子集都不能成為關系r的超碼,則、、、、、主碼:在實體集中區(qū)分不同實體的候選碼。
    外碼:用于建立和加強兩個表數(shù)據(jù)之間的關系而引用另一個關系的主碼。
    關系模式:是型的概念,它定義了元組集合的結構,即定義了一個元組由哪些屬性構成 關系數(shù)據(jù)庫:在一個給定的應用領域中,所有實體以及實體之間的聯(lián)系所對應的關系的集合 空值:是所有可能的域的一個取值,表明值未知或不存在。
    2.關系模式的完整性:實體完整性、參照完整性和用戶自定義完整性。實體完整性:若屬性a是關系r中的主碼,則a不能取空值
    參照完整性:若屬性f是關系r的外碼,它與關系s的主碼ks相對應,則對于關系r中的每一個元組在屬性f上的取值,要么為空值,要么等于關系s中的某個元組的值 3.自然連接和等值連接的區(qū)別于聯(lián)系
    等值連接:是從兩個關系的笛卡爾積中選取連接屬性滿足相等條件的所有元組。
    自然連接:是一種特殊的等值連接,它要求兩個參與連接的關系具有公共的屬性集,并且在結果中把重復的屬性列去掉
    第四章
    數(shù)據(jù)庫建模(實體-聯(lián)系模型)
    1.請簡要解釋下列術語:實體、實體集、屬性、域、聯(lián)系、聯(lián)系集、角色、映射基數(shù)、超碼、候選碼、主碼、弱實體、類層次、聚合
    實體是客觀世界中可區(qū)別于其他事物的“事物”或“對象”。實體既可以是有形的,實在的事物,也可以是抽象的、概念上存在的事物。相同類型的實體組成的集合稱為實體集
    實體是通過一組屬性來描述的,其屬性是實體集中給每個實體都具有的性質。每個屬性所允許的取值范圍或集合稱為該屬性的域
    聯(lián)系兩個或兩個以上實體之間的聯(lián)系。相同類型聯(lián)系組成的集合稱為聯(lián)系集。聯(lián)系也可擁有自身的描述性屬性
    由于參與一個聯(lián)系的實體集通常是不同的,因而角色是隱含的并且常常不需聲明。但是,當參與聯(lián)系的實體來自相同的實體集,則需要聲明角色
    映射基數(shù)指一實體集中的一個實體通過一個聯(lián)系集能同時與另一個實體集相聯(lián)系的實體數(shù)目。映射基數(shù)可決定聯(lián)系集的主碼屬性,甚至可能影響到一個事物是作為實體還是聯(lián)系的選擇
    超碼是指能夠唯一的標識實體集或聯(lián)系集中的一個實體或一個聯(lián)系的一個或多個屬性的集合。當一個超碼的任意真子集都不能成為超碼時,稱該最小超碼為候選碼。候選碼和超碼是實體集客觀存在的特性,而主碼是被數(shù)據(jù)庫設計者主觀選中,用來區(qū)分同一實體集中不同實體的候選碼
    當一個實體集的所有屬性都不足以形成主碼,就稱該實體集為弱實體集。相反,其屬性可以形成主碼的實體集稱為強實體集。弱實體集所以來的強實體集稱為標識實體集。標識實體集和弱實體集之間必須是一對多關系,并且弱實體集中的實體在聯(lián)系集中是全部參與的
    e-r模型使用繼承和isa聯(lián)系來描述實體集之間概念上的層次關系。當欲建立聯(lián)系間的聯(lián)系時,可使用聚合實現(xiàn)
    聚合是一種抽象,它將一個聯(lián)系集及其相關聯(lián)的實體集抽象為一高層實體集對待,然后建立該高層實體集與其他實體集之間的聯(lián)系集 2.綜合題:需求分析----e-r圖---關系模式
    第七章
    數(shù)據(jù)庫存儲結構
    1.數(shù)據(jù)庫系統(tǒng)的存儲訪問方式是什么?為什么要這樣? 一個數(shù)據(jù)庫映射為多個不同的文件,這些文件由底層的操作系統(tǒng)來維護,永久地存放在磁盤上,并且具有三級存儲介質上的備份。每個文件分成定長的存儲單元,稱為塊。塊是存儲分配和數(shù)據(jù)傳輸?shù)幕締挝?BR>    當數(shù)據(jù)庫系統(tǒng)中的程序需要磁盤上的塊時,它向緩沖區(qū)管理器發(fā)出請求(即調用)。如果這個塊已經在緩沖區(qū)中,緩沖區(qū)管理器將這個塊在主存儲器中的地址返回給請求者。如果這個塊不再緩沖區(qū)中,緩沖區(qū)管理器首先在緩沖區(qū)中為這個塊分配空間,如果需要的話會把其他塊移出主存儲器為這個新塊騰出空間,移出的塊僅當它在最近一次寫回磁盤后修改過才需要寫回磁盤;然后,換紅區(qū)管理器把這個塊從磁盤讀入緩沖區(qū),并將這個塊在主存儲器中的地址返回給請求者。緩沖區(qū)管理器的內部動作對發(fā)出磁盤塊請求的程序是透明的。原因:數(shù)據(jù)庫系統(tǒng)的一個主要目標就是減少磁盤和主存儲器之間傳輸?shù)膲K數(shù)。減少磁盤訪問次數(shù)的一種方法是在主存儲器中保留盡可能多的塊,目的是最大化要訪問的塊已經在主存儲器中的幾率,這樣就不再需要訪問磁盤了
    2.什么是聚集文件組織、什么是多表聚集文件組織?為什么需要多表聚集文件組織?為什么要慎用多表聚集文件組織?
    聚集文件組織:很多關系數(shù)據(jù)庫系統(tǒng)將各個關系存儲在一個個獨立的文件中,不同關系中有聯(lián)系的數(shù)據(jù)是通過關系間的聯(lián)接操作得到的,但是當數(shù)據(jù)的數(shù)量比較大時,這種方法速度會很慢。而在聚集文件組織方式中,一個文件可以存儲多個關系的記錄,不同關系中有聯(lián)系的記錄存儲在一起可以提高查找速度。
    多表聚集文件組織:在一個塊中存儲兩個或多個關系的相關記錄,以加速特定連接的處理。但是它將會導致其他類型查詢的處理變慢
    3.為什么需要索引?什么是順序索引和散列索引?什么是主索引和輔助索引?稠密索引和稀疏索引有什么不同?什么是索引順序文件?
    許多查詢只涉及到文件中的少量記錄,索引能使系統(tǒng)直接定位這些滿足查詢條件的記錄。dbms首先會查找索引,找到對應記錄所在的位置(即所在磁盤的塊地址),然后讀取該磁盤塊,得到所需的記錄
    順序索引是基于搜索碼的值的順序排列,用于支持快速地對文件中的記錄進行順序或隨機的訪問。散列索引時通過搜索碼值的散列函數(shù)的值將所有記錄平均、隨機地分布到若干個散列桶中,用于支持快速地對文件中的記錄進行隨機地訪問
    如果索引文件中的記錄按照某個搜索碼值指定的順序物理存儲,那么該搜索碼對應的索引就稱為主索引,也叫聚集索引。與此相反,搜索碼值順序與索引文件中記錄的物理順序不同的那些索引稱為輔助索引或非聚集索引
    如果索引文件中的每一個不同的搜索碼值,在索引中都有一個索引記錄(或稱為索引項),則該索引稱為稠密索引。如果只對索引文件中的部分搜索碼值,在索引中存在一個索引記錄,則該索引稱為稀疏索引。每一個索引項包含搜索碼值和指向具有該搜索碼值的第一個數(shù)據(jù)記錄的指針。利用稠密索引通??梢员认∈杷饕軌蚋斓囟ㄎ灰粭l記錄的位置,但是稀疏索引占用空間更小,插入、刪除和更新的開銷也會更小
    建立了主索引的索引文件稱為索引順序文件:稠密索引、稀疏索引 4.b+樹索引的根結點,非葉結點和葉結點都具有相同的數(shù)據(jù)結構,那它們之間有什么不同? 非葉結點的結構與葉結點結構相同,只不過非葉結點中的所有指針都是指向b+樹種下一層節(jié)點的指針,根結點與其他非葉結點不同,它包含的指針書可以小于n/2,但至少包含兩個指針
    5.散列文件組織和散列索引有什么不同? 在散列文件組織中,通過計算一條記錄的搜索碼值的散列函數(shù)值,可以直接獲得包含該記錄的磁盤塊(桶)的地址。在散列索引組織中,把搜索碼值以及與它們先關聯(lián)的記錄指針組織成一個散列文件結構
    6.在考慮用索引時,是選擇b+樹索引還是散列索引?為什么? 散列其實就是一種不通過值的比較,而通過值的含義來確定存儲位置的方法,它是為有效地實現(xiàn)等值查詢而設計的。不幸的是,基于散列技術不支持范圍檢索。而基于b+樹索引技術能有效的支持范圍檢索,并且它的等值檢索效果也很好。但是,散列技術在等值連接中是很有用的,尤其是在索引嵌套循環(huán)連接方法中,基于散列的索引和基于b+樹的所以在代價上會有很大差別
    7.數(shù)據(jù)庫物理設計的主要內容是什么?數(shù)據(jù)庫物理設計的目標是什么?
    數(shù)據(jù)庫物理設計的目標是:提高數(shù)據(jù)庫性能,以滿足應用的性能需求;有效利用存儲空間;在性能和代價之間做出最優(yōu)平衡 數(shù)據(jù)庫物理設計的內容包括:確定數(shù)據(jù)庫性能,以滿足應用的性能需求;有效利用存儲空間;在性能和代價之間做出最優(yōu)平衡
    第八章 查詢處理
    1.查詢處理的過程分為哪幾個步驟
    ?語法分析與翻譯?查詢優(yōu)化?查詢執(zhí)行 2.查詢代價如何度量?為什么?
    查詢處理的代價可以通過該查詢對各種資源的使用情況進行度量,主要包括磁盤存取時間和執(zhí)行一個查詢所用cpu時間以及在并行/分布式數(shù)據(jù)庫系統(tǒng)中的通信開銷等 3.如何實現(xiàn)選擇運算?
    用于選擇運算的搜索方法?不用索引的搜索算法----文件掃描?使用索引的搜索算法---索引掃描
    4.題見書(1)最壞情況下,緩沖區(qū)只能容納每個關系的一個數(shù)據(jù)塊,因而算法的代價為:ej = nr * bs + br。這里,nr = 20000,bs =1500,br=800,所以所需要的塊存取數(shù)為20000*1500+800,約為30m個塊存取。最好情況下,兩個關系都能放到內存里,因而算法代價為:ej = bs + br。大約需要2.3k個塊存取。
    5.為什么需要查詢優(yōu)化?什么是查詢執(zhí)行計劃?查詢優(yōu)化器的輸入和輸出分別是什么? 處理一個給定的查詢,尤其是復雜的查詢,通常會有許多種策略。查詢優(yōu)化就是從這多種策略中找出最有效的查詢執(zhí)行計劃的處理過程。
    給定一個關系代數(shù)表達式,查詢優(yōu)化器的任務就是產生一個查詢執(zhí)行計劃,該計劃能獲得與原關系代數(shù)表達式相同的結果,并且執(zhí)行代價是接近最小的
    6.題見書:由于是計算三個關系的自然連接,且連接屬性中的c、e是各自關系的主碼,因此r1r2r3的大小最多為1000個元組。有效地計算這個連接的策略就是讓連接結果較小的連接運算先執(zhí)行,即:(r1r2)r3。原因就是:由于a是r1的主碼,c是連接屬性,因此r1r2的最大結果為1000個元組;而c是r2的主碼,e是連接屬性,因此r2r3的最大結果為1500個元組。所以,要讓(r1r2)先做連接運算,以減少結果集的大小。7.畫樹
    其它章節(jié)零散習題
    列級約束和元組級約束的區(qū)別在哪里?
    如果在定義屬性的同時定義約束條件,則為列級約束;如果單獨定義約束條件,則為元組級約束
    什么是事物的acid特性?
    ①原子性:事務的所有操作要么全部都被執(zhí)行,要么都不被執(zhí)行②一致性;即一個單獨執(zhí)行的事務應保證其執(zhí)行結果的一致性,即總是將數(shù)據(jù)庫從一個一致性狀態(tài)轉化到另一個一致性狀態(tài)③隔離性:即當多個事務并發(fā)執(zhí)行時,一個事務的執(zhí)行不能影響另一個事務,即并發(fā)執(zhí)行的各個事務不能相互干擾④持久性:即一個事務成功提交后,它對數(shù)據(jù)庫的改變必須是永久的,即使隨后系統(tǒng)出現(xiàn)故障也不會受到影響 當前主流的數(shù)據(jù)庫訪問技術是ado web服務器的職責是什么?數(shù)據(jù)庫服務器的職責又是什么? web服務器負責監(jiān)聽客戶的請求,一旦收到客戶請求,數(shù)據(jù)庫服務器 三級數(shù)據(jù)庫考點分析之計算機基礎知識
    1.1計算機系統(tǒng)組成與應用領域
    考點1計算機系統(tǒng)組成
    一個完整的計算機系統(tǒng),包括硬件和軟件兩個部分。
    硬件系統(tǒng)是指組成一臺計算機的各種物理裝置,它是計算機的物質基礎,由各種器件組成,如主板、cpu、硬盤、顯示器、內存和線路等。
    軟件系統(tǒng)是運行在計算機硬件設備上的各種程序及相關資料的總稱。
    以存儲程序原理為基礎的馮·諾依曼結構的計算機,一般由五大功能部件組成,它們是運算器、控制、存儲器、輸人設備以及輸出設備。
    下面分別對各種設備進行介紹。
    1運算器
    運算器是用于對數(shù)據(jù)進行加工的部件,它可以對數(shù)據(jù)進行算術運算和邏輯運算。算術運算包括加、減、乘、除、求余及復合運算。邏輯運算包括一般的邏輯判斷和邏輯比較。
    2控制器
    控制器是計算機的控制部件。它控制計算機各部分自動協(xié)調地工作,用于對程序的指令進行解釋和執(zhí)行,協(xié)調輸人、輸出設備,以實現(xiàn)數(shù)據(jù)輸人、運算和輸出等操作。
    3存儲器
    存儲器的主要功能是存放程序和數(shù)據(jù),是計算機的記憶存儲裝置。它分為內部存儲器和外部存儲器。
    4輸入設備
    輸人設備是計算機從外部接收、獲取信息的裝置。其功能是將數(shù)據(jù)、程序及其他信息,從人們所熟知的形式轉換成計算機能識別的信息形式,并輸人到計算機內部。
    常見輸人設備有鼠標、鍵盤、掃描儀、紙帶輸人機、模/數(shù)轉換器(a/d轉換器)等
    5輸出設備
    輸出設備的主要功能是將計算機處理過的二進制形式的信息轉換成人們所需要的形式或其他設備接受并可以識別的信息形式。常見的輸出設備有顯示器、打印機、聲音合成輸出、繪圖儀和數(shù)/模轉換器(d/a轉換器)等
    一般把運算器和控制器合稱為中央處理器(central processor unit,簡稱cpu),中央處理器與內存儲器統(tǒng)稱為主機.輸人設備、輸出設備和外存儲器合稱為外部設備,外部設備通過接口與主機相連??键c2計算機的應用領域
    l 科學和工程計算
    主要是用數(shù)值方法對一些數(shù)學問題的求解。計算機不僅可以提高計算的速度,還可以使一些人工不能解決的數(shù)學問題得到解決。在科學實驗和工程設計中,經常會遇到一些數(shù)學方程和函數(shù)問題,這些問題人們不能從理論上得出其準確解,但利用計算機可以得到它們的近似解。這種應用稱為科學和工程計算,其特點是計算量大,而邏輯關系相對簡單。
    2數(shù)據(jù)和信息處理
    數(shù)據(jù)處理是指對數(shù)據(jù)的收集、存儲、加工、分析和傳送的一系列過程。
    計算機的一個非常重要的應用領域就是對數(shù)據(jù)和信息的處理。數(shù)據(jù)的含義是相當廣泛的,包括聲、像、文字和圖表等,它們都可以用計算機來進行處理。
    3過程控制
    過程控制是自動化技術的重要技術內容和手段.指計算機對所采集到的數(shù)據(jù)按一定的方法經過計算,然后輸出到指定的執(zhí)行設備中去控制生產的過程。
    4輔助設計
    計算機輔助設計(computer aided design,簡稱cad)是用計算機來幫助設計人員進行產品、工程設計的重要技術手段,可以節(jié)省人力和物力,且速度快,質量高,能有效縮短產品的設計周期。
    這里有必要提一下這幾個名詞:計算機輔助制造(computer aided manufacturing,簡稱cam)、計算機輔助測試(computer aided testing,簡稱cat)和計算機輔助教學(computer aided instruction,簡稱cai)。
    5人工智能
    人們把用計算機模擬人腦思維的過程稱為人工智能,并利用計算機程序來實現(xiàn)這些過程。
    1.2計算機軟件 考點3計算機語言
    計算機語言是面向計算機的人工語言,它是進行程序設計的工具,又稱為程序設計語言?,F(xiàn)有的程序設計語言一般可分為機器語言、匯編語言及高級語言,下面分別加以介紹。
    1機器語言
    機器語言是最初級的計算機語言,它依賴于硬件,是由0,i組成的二進制編碼形式的指令集合。不易被人識別,但可以被計算機直接執(zhí)行。
    2匯編語言
    匯編語言指使用助記符號和地址符號來表示指令的計算機語言,也稱之為符號語言。每條指令有明顯的標識,易于理解和記憶。
    用匯編語言編寫的程序,直觀且易理解,這是匯編語言的優(yōu)點。但是匯編語言仍是面向機器的,編程工作量大,程序可移植性差。計算機不能識別和直接運行匯編語言,必須翻譯成機器語言程序后才能識別并運行。這種翻譯程序即稱為匯編程序,其關系如圖l一1所示。
    圖1-1匯編過程
    高級語言
    高級語言是一類面向問題的程序設計語言,且獨立于計算機的硬件,對具體的算法進行描述,所以又稱為算法語言,它的特點介紹如下:
    (i)脫離具體的計算機硬件。
    (2)通用性及可移植性好。
    下面介紹幾種常用的高級語言。
    (i)basic語言:多用于教學及小型應用程序的開發(fā)工作。
    (2)fortran語言:多用于科學及工程計算程序的開發(fā)工作。
    (3)pascal語言:多用于專業(yè)教學及應用程序的開發(fā)工作。
    (4)c語言:多用于系統(tǒng)程序的開發(fā)。
    (5)c十+語言:多用于面向對象程序的開發(fā)。
    (6)cobol語言:多用于商業(yè)、交通及銀行等應用程序的開發(fā)。
    (7)prolog語言:多用于人工智能程序的開發(fā)。
    (8)foxpro語言:多用于專業(yè)教學及應用程序的開發(fā)。
    高級語言程序一般又稱為源程序,不能直接在計算機上運行,需要翻譯成機器語言程序(又稱為目標程序)才可執(zhí)行。這種翻譯是由編譯程序來完成的,翻譯過程如圖1-2所示。
    圖1一2編譯過程
    考點4系統(tǒng)軟件
    系統(tǒng)軟件指負責管理、監(jiān)控和維護計算機資源(含硬件資源和軟件資源)的程序。
    1操作系統(tǒng)
    操作系統(tǒng)(operating system,簡稱os)是系統(tǒng)軟件的核心,也是用戶同計算機之間的接口,是一組程序模塊的集合:它們有效地控制和管理計算機系統(tǒng)中的硬件和軟件資源;合理地組織計算機工作流程,以改善系統(tǒng)的性能;提供一個易于使用、功能強大的工作環(huán)境,從而在計算機和其他用戶之間起到接口的作用。
    2語言處理程序
    語言處理程序就是將各種語言編寫的源程序翻譯成機器語言表示的目標程序。按處理方式的不同可解釋型程序與編譯型程序兩大類。
    3數(shù)據(jù)庫管理系統(tǒng)
    數(shù)據(jù)庫管理系統(tǒng)(database management system,簡稱dbms)是組織、管理和查詢計算機中的存緒數(shù)據(jù)并提供一定處理功能的大型系統(tǒng)軟件,是計算機信息系統(tǒng)和應用系統(tǒng)的基礎,可分為兩類:
    (1)基于微型計算機的小型數(shù)據(jù)庫管理系統(tǒng)可解決數(shù)據(jù)量不大且功能要求較簡單的數(shù)據(jù)庫應用。
    (2)大型的數(shù)據(jù)庫管理系統(tǒng)功能齊全,安全穩(wěn)定,支持對大數(shù)據(jù)量的管理并提供相應開發(fā)工具。
    4服務性程序
    服務性程序屬于輔助性的程序.比如用于程序的裝人、連接和編輯,調試用的裝人程序、連接程序、編輯程序及調試程序,以及故障診斷程序、糾錯程序等。考點5應用軟件
    應用軟件是指人們?yōu)榱私鉀Q某濘、領域的實際問題而編制的計算機程序。除了系統(tǒng)軟件以外的所有軟件都稱為應用軟件。隨著計算機應用在不同領域的深人發(fā)展,應用軟件的類型也不斷增多,如各種用于計算的軟件包、字處理軟件、ca d軟件、cai軟件、cam軟件,以及各種繪圖軟件等。
    計算機硬件、軟件及汁算機系統(tǒng)的組成情況如圖1一3所示。
    圖1-3計算機系統(tǒng)組成 考點6計算機網絡概述
    1計算機網絡的基本概念
    計算機網絡是通信技術與計算機技術緊密結合的產物,通過通信線路及通信設備將分布在不同地點的具有獨立功能的多個計算機系統(tǒng)連接起來,并在網絡軟件支持下實現(xiàn)相互的數(shù)據(jù)通信及資源共享的硬件系統(tǒng)。計算機網絡按規(guī)模大小可分為局域網、城域網和廣域網。
    2計算機網絡的發(fā)展厲史
    (l)具有通信功能的單機系統(tǒng)階段。
    (2)具有通信功能的多機系統(tǒng)階段。
    (3)計算機網絡階段。
    3計算機網絡的主要特點
    在不同的發(fā)展階段,人們對網絡的定義是不同的,這些定義大致可分為3類:廣義的觀點、資源共享的觀點和用戶透明性的觀點。從目前計算機網絡的特點來看,資源共享觀點能比較準確地描述計算機網絡的基本特征。下面簡單介紹一卜資源共享的含義:
    (1)資源共享。網絡用戶可以通過網絡訪問聯(lián)網的遠程計算機資源,也可以調用不同計算機共同完成任務。
    (2)獨立的計算機。網絡中的計算機可以聯(lián)網工作,也可以脫離網絡獨立工作。
    (3)遵循共同的網絡協(xié)議。為保證網絡中的計算機能有序地工作,每臺計算機在交換數(shù)據(jù)的過程中遵守共同的通信規(guī)則,一個網絡協(xié)議主要由語法、語義與時序組成。
    考點7計算機網絡的分類
    1分類方法
    (1)根據(jù)傳輸技術分類:可分為廣播式網絡與點一點式網絡。
    (2)根據(jù)網絡的覆蓋范圍與規(guī)模分類:可分為局域網、城域網及廣域網。
    2廣域網
    廣域網(wide area network,簡稱wan)也稱為遠程網,其覆蓋范圍從幾十千米到幾千千米甚至上萬千米,廣域網具有以下特點。
    (1)適應大容量與突發(fā)性通信要求
    (2)適應綜合業(yè)務服務要求
    (3)開放的設備接口與規(guī)范化的協(xié)議
    (4)完善的通信服務與網絡管理。
    隨著通信技術的不斷發(fā)展,數(shù)據(jù)通信的環(huán)境也發(fā)生了變化,主要表現(xiàn)在以下3個方面。
    (1)傳輸介質由原有的電纜逐步走向誤碼率很低且?guī)捄軐挼墓饫w
    (2)局域網內部的數(shù)據(jù)傳輸速率已經達到iomb/s一1 gb/s,多個局域網之間高速互聯(lián)的要求越來越強烈。
    (3)用戶設備性能大大提高,可以承擔部分原來由數(shù)據(jù)通信網承擔的通信處理功能
    3局域網
    局域網(local area network,簡稱lan)指網絡服務區(qū)域在一個局部的范圍內,可以有一臺或多臺計算及多個工作站通過其進行通信。它有以太網(ethernet)、令牌總線(token bus)和令牌環(huán)(token ring)3種工作原理。
    局域網的技術特點主要表現(xiàn)在以下幾個方面。
    (1)覆蓋范圍有限,多用于公司、機關、校園等范圍內的計算機終端與信息處理設備之間的聯(lián)網需求。
    (2)提供高數(shù)據(jù)傳輸速率、低誤碼率、高質量數(shù)據(jù)傳輸環(huán)境。
    (3)易于建立、維護與擴展,一般為一個單位所有。
    (4)決定局域網特性的主要技術要素為網絡拓撲、傳輸介質與介質訪問控制方法。
    (5)從介質訪問控制方法角度,可分為共享式與交換式局域網。
    城域網
    城域網(metropolitan area network,簡稱man)是介于廣域網與局域網之間的一種高速網絡。早期的城域網主要采用光纖分布式數(shù)據(jù)接口(fiber distributed data interface,簡稱fddi),它主要有以下幾個技術特點。
    (1)使用基于ieee 802.5的單令牌的環(huán)網介質訪問控制mac協(xié)議。
    (2)使用ieee 802.2協(xié)議,與符合ieee 802標準的局域網兼容。
    (3)數(shù)據(jù)傳輸速率為100 mb/s,聯(lián)網的節(jié)點數(shù)`1 000,環(huán)路長度為100 km,(4)可以使用雙環(huán)結構,具有容錯能力。
    (5)可以使用多?;騿文9饫w。
    (6)具有動態(tài)分配帶寬的能力,能支持同步和異步數(shù)據(jù)傳輸。
    考點8internet基礎 internet的形成與發(fā)展
    (1)tcp/ip協(xié)議與arpanet的結合,使arpanet成為internet的主干網。
    (2)nsfnet從一開始就使用tcp/ip協(xié)議,是第一個使用tcp/ip協(xié)議的廣域網。
    (3)internet實現(xiàn)了tcp/ip協(xié)議參考模型與協(xié)議的結合。tcp/ip協(xié)議使網絡不受主機、用戶微型計算機及所使用的操作系統(tǒng)的限制。
    internet的結構與組成
    從技術角度上來看,internet主要是由通信線路、路由器、主機、信息資源幾個主要部分組成的。
    (1)通信線路。將internet中的路由器與路由器、路由器與主機連接起來。
    (2)路由器。是internet中最重要的通信設備之一,它的作用是將internet中的各個局域網、城域網或廣域網,以及主機互聯(lián)起來
    (3)主機。是internet中信息資源與服務的載體。
    (4)信息資源是用戶最關心的問題,它會影響到internet中站點受歡迎的程度。
    tcp/ip協(xié)議、域名與ip地址
    tcp/ip協(xié)議是為保證internet正常工作而要求所有internet中的主機都必須遵守的通信協(xié)議。它具有 以下幾個特點
    (1)開放的協(xié)議標準,獨立于特定的計算機硬件與操作系統(tǒng)。
    (2)獨立于特定的網絡硬件,可以運行在局域網和廣域網,更適用于互聯(lián)網中。
    (3)標準化的高層協(xié)議,可以提供多種可靠的用戶服務。
    (4)統(tǒng)一的網絡地址分配方字模,使得整個tcp/ip設備在網中都具有唯一的ip地址。
    在tcp/ip參考模型中,應用層包括了所有的高層協(xié)議,且一直有新的協(xié)議加人。應用層協(xié)議主要有下面幾種。
    (1)網絡終端協(xié)議telnet,實現(xiàn)網絡互聯(lián)中遠程登錄的功能二
    (2)文件傳送協(xié)議ftp,實現(xiàn)因特網中交互式文件傳送的功能。
    (3)域名服務dns,實現(xiàn)網絡設備名字與ip地址相互映射的網絡服務。
    (4)路由信息協(xié)議rip,網絡設備間交換路由信息的協(xié)議。
    (5)電子郵件協(xié)議smtp,實現(xiàn)網絡中電子郵件的傳送功能。
    (6)http協(xié)議, 1.第一范式(1nf)及進一步規(guī)范化
    關系模式需要滿足一定的條件,不同程度的條件稱做不同的范式,最低要求的條件是元組的每個分量必須是不可分的數(shù)據(jù)項,這叫第一范式,簡稱1nf,是最基本的范式。對于各種范式之間的聯(lián)系有5nf c4nf仁bcnfc3nf仁2nfcinf成立。一個低一級范式的關系模式,通過模式分解可以轉換為若干個高一級范式的關系模式的集合,這個過程就叫規(guī)范化。2.第二范式(2nf)若r einf,且每一個非主屬性完全函數(shù)依賴于碼,則r∈2nfo 2nf就是不允許關系模式的屬性之間有這樣的函數(shù)依賴x-.y。其中x是碼的真子集,y是非主屬性,也就是說,不允許有非主屬性對碼的部分函數(shù)依賴。3.第三范式(3nf)關系模式r,<u,f>中若不存在這樣的碼x,屬性組y及非主屬性z(z不包含于均使得x→y,(y函數(shù)依賴于x)y→z成立,則稱r<u, f>∈3nf 一codd范式(bcnf)若關系模式reinf,且對于每個非平凡的函數(shù)依賴x-} y都有x包含碼,則r ebcnf。在函數(shù)依賴的范圍內,bcnf達到了最高的規(guī)范化程度。
    考點35多值依賴和4nf 1.多值依賴
    設r(u)是屬性集u上的一個關系模式x、y,z是u的子集,并且z=u一x一y}關系模式r(u)中多值依賴x→→y成立,當且僅當對r(u)功的任一關系r,給定的一對(x,z)值有一組y的值,這組值僅僅決定于x值而與z值無關。4.第四范式(4nf)關系模式r<u,f>司nf,如果對于r的每個非平凡多值依賴x→→y(y不包含于x),x都含有碼,則稱r<u,f>∈4nf。
    如果一個關系模式是4nf,則必為bcnf。
    4.14關系模式的分解
    考點36模式分解的等價標準
    常用的等價標準要求分解是具有無損連接性的,并且是保持函數(shù)依賴的。
    考點37關于模式分解的幾個事實
    (1)分解具有無損連接性和分解保持函數(shù)依賴是兩個互相獨立的標準。(2)若要求分解具有無損連接性,那么模式分解一定可以達到bcnf)。
    (3)若要求分解保持函數(shù)依賴,刀廠么模式分解可以達到3nf,但不一定能達到bcnf。(4)若要求分解既具有無損連接性,又保持pa數(shù)依賴,則模式分解可以達到3nf,但不一定能達到bcnf。
    4.15數(shù)據(jù)庫設計的內容、方法和步驟
    考點38關于數(shù)據(jù)庫設計的概述
    數(shù)據(jù)庫設計是指對于一個給定的應用環(huán)境,包括硬件環(huán)境、操作系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)(dbms)等軟件環(huán)境,如何使用這個環(huán)境來表達用戶的要求,構造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及圍繞數(shù)據(jù)庫展開的應用系統(tǒng),使之能夠有效地收集、存儲、操作和管理數(shù)據(jù),滿足企業(yè)組織中各類用戶的應用需求。
    數(shù)據(jù)庫設計方法中比較著名的有新奧爾良(new orleans)方法。它將數(shù)據(jù)庫設計過程分為4個階段:需求分析、概念結構設計
    一、邏輯結構設計和物理設計。4.16需求分析
    考點39需求分析的任務
    需求分析的任務是通過詳細調查現(xiàn)實世界要處理的對象(組織、部門、企業(yè)等),充分了解原系統(tǒng)(手工系統(tǒng)或計算機系統(tǒng))的下作概況,明確用戶的各種需求,然后在此基礎上確定新系統(tǒng)的功能。新系統(tǒng)必須充分考慮今后可能的擴充和改變,不能僅僅按當前應用需求來設計數(shù)據(jù)庫。需求分析的重點是調查、收集與分析用戶在數(shù)據(jù)管理中的信息要求、處理要求、安全性與完整性要求。需求分析的階段成果是產生系統(tǒng)需求說明書??键c40需求分析的基本步驟
    需求分析的步驟有以下幾個方面:
    (1)需求的收集:數(shù)據(jù),發(fā)生時間、頻率,發(fā)生的規(guī)則、約束條件、相關聯(lián)系、計劃控制及決策過程。
    (2)需求的分析整理二包括數(shù)據(jù)流程分析、數(shù)據(jù)分析結果描述、數(shù)據(jù)分析統(tǒng)計及分析圍繞數(shù)據(jù)的各種業(yè)務處理功能,并以帶說明的系統(tǒng)功能結構圖形式給出。
    4.17概念結構設計
    考點41概念結構設計的目標和策略
    概念結構是對現(xiàn)實世界的一種抽象,即對實際的人、物、事和概念進行人為處理,抽取人們關心的共同特性,忽略非本質的細節(jié),并把這些特性用各種概念精確地加以描述。
    設計概念結構通常有4類方法:自頂向下、自底向上、由里向外和混合策略。無論采用哪種設計方法,一般都以e-r模型為工具來描述概念結構。最常用的設計策略是自底向上設計策略。
    考點42采用e-r方法的數(shù)據(jù)概念模型設計 1數(shù)據(jù)抽象與局部視圖設計
    以自底向上設計概念結構的方法為例,它通常分為兩步:
    (1)根據(jù)需求分析的結果(數(shù)據(jù)流圖、數(shù)據(jù)字典等)對現(xiàn)實世界的數(shù)據(jù)進行抽象,設計各個局部視圖即e-r圖。(2)集成局部視圖。
    設計e-r圖的步驟如下:
    (1)選擇局部應用(2)逐一沒計e-r圖二 2視圖的集成
    集成局部e-r圖時需要兩步。
    (1)合并e-r圖,生成初步e7r圖。
    各e-r圖之間的沖突主要有3類:屬性沖突、命名沖突和結構沖突:(2)修改與重構,生成基本e-r圖。
    修改、重構初步e-r圖以消除冗余,主要采用分析方法。除分析方法外,還可以用規(guī)范化理論來消除冗余。
    4.18邏輯結構設計
    考點43 e-r模型向關系數(shù)據(jù)模型的轉換
    將e-r圖轉換為關系模型實際上就是要將實體、實體的屬性和實體之間的聯(lián)系轉化為關系模式,這種轉換的規(guī)則包括以下幾點:(1)一個實體型轉換為一個關系模式。(2)一個m: n聯(lián)系轉換為一個關系模式。
    (3)一個1:n聯(lián)系可以轉換為一個獨立的關系模式,也可以與n端對應的關系模式合并。(4)一個1:1聯(lián)系可以轉換為一個獨立的關系模式,也可以與任意一端對應的關系模式合并。
    (5)3個或3個以上實體間的一個多元聯(lián)系轉換為一個關系模式。
    (6)同一實體集的實體間的聯(lián)系,即自聯(lián)系,也可按上述1: 1,1: n和m: n三種情況分別處理。
    (7)具有相同碼的關系模式可以合并。
    考點44關系數(shù)據(jù)庫的邏輯結構設計過程 關系數(shù)據(jù)庫的邏輯結構設計過程如下:
    (1)從e-r圖導出初始關系模式。(2)規(guī)范化處理。
    (3)模式評價。(4)優(yōu)化模式。(5)形成邏輯結構設計說明書。
    4.19物理結構設計
    考點45物理設計的內容
    (1)存儲記錄的格式設計。對數(shù)據(jù)項類型特征進行分析,并對存儲記錄進行格式化
    決定如何進行數(shù)據(jù)壓縮或代碼優(yōu)化。
    (2)存儲方法的設計。物理設計中最重要的一個考慮是把存儲記錄在全范圍內進行物理安排,包括順序存放、散列存放和聚列存放。物理設計的結果是物理設計說明書。(3)存取方法設計。存取方法設計為存儲在物理上的數(shù)據(jù)提供數(shù)據(jù)訪問的路徑。dbms產品一般都提供了一些存儲分配參數(shù),供數(shù)據(jù)人員和dba對數(shù)據(jù)庫進行物理優(yōu)化。
    考點46物理設計的評價
    數(shù)據(jù)庫物理設計過程中需要對時間效率、空間效率、維護代價和各種用戶要求進行權衡,其結果可以產生多種方案,數(shù)據(jù)庫設計人員必須對這些方案進行細致的評價,從中選擇一個較優(yōu)的方案作為數(shù)據(jù)庫的物理結構。
    在數(shù)據(jù)庫應用系統(tǒng)生存期中,總的開銷包括:規(guī)劃開銷、設計開銷、實施和測試開銷、操作開銷、運行維護開銷。評價物理數(shù)據(jù)庫的方法完全依賴于所選用的dbms。
    4.20實現(xiàn)和維護
    考點47數(shù)據(jù)庫的實現(xiàn)
    數(shù)據(jù)庫實現(xiàn)的主要工作有以下幾個方面:(1)定義數(shù)據(jù)庫結構。(2)編制與調試應用程序。(3)數(shù)據(jù)裝載。
    (4)數(shù)據(jù)庫試運行。
    考點48其他設計
    其他設計工作包括加強數(shù)據(jù)庫的安全性、完整性控制,以及保證一致性、可恢復性等,總是以犧牲效率為代價的。設計人員的任務就是要在實現(xiàn)代價和盡可能多的功能之間進行合理平衡。其他設計包括數(shù)據(jù)庫的再組織設計、故障恢復方案設計、安全性考慮和事務控制等。
    考點49數(shù)據(jù)庫的運行和維護
    在數(shù)據(jù)庫運行階段,對數(shù)據(jù)庫經常性的維護工作主要是由dba完成的,它包括以下幾個方面:
    (1)數(shù)據(jù)庫的轉儲和恢復。
    (2)數(shù)據(jù)庫的安全性、完整性控制。(3)數(shù)據(jù)庫性能的監(jiān)督、分析和改進。(4)數(shù)據(jù)庫的重組織和重構造。
    4.21數(shù)據(jù)庫管理系統(tǒng)概述
    考點50 dbms的系統(tǒng)目標
    數(shù)據(jù)庫管理系統(tǒng)(dbms)是操作和管理數(shù)據(jù)庫的軟件系統(tǒng),它由一組計算機程序構成,管理并控制數(shù)據(jù)資源的使用。數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心dbms的目標是用戶界面友好、結構清晰和開放性。
    考點51 dbms的基本功能
    dbms主要是實現(xiàn)對共享數(shù)據(jù)有效的組織、管理和存取。因此,dbms具有如下幾個方面的基本功能。
    (1)數(shù)據(jù)庫定義功能。(2)數(shù)據(jù)存取功能。
    (3)數(shù)據(jù)組織、存儲和管理。(4)數(shù)據(jù)庫運行管理。(5)數(shù)據(jù)庫的建立和維護。
    (6)通信功能和數(shù)據(jù)轉換功能等。
    考點52 dbms程序模塊的組成
    大致來說,dbms的程序模塊可按功能劃分為以下5個模塊:(1)數(shù)據(jù)定義方面的程序模塊。(2)數(shù)據(jù)操縱方面的程序模塊
    (3)數(shù)據(jù)庫運行管理方面的程序模塊
    (4)數(shù)據(jù)庫組織、存儲和管理方面的程序模塊。(5)數(shù)據(jù)庫建立、維護和其他方面的程序模塊。
    考點53 dbms的層次結構
    可以將dbms劃分成若干層次,這樣可以幫助我們更清晰地認識dbms,更重要的是有助于dbms的設計和維護。
    (1)最上層是應用層位于dbms核心之外。
    (2)第二層是語言翻譯處理層它處理的對象是數(shù)據(jù)庫語言}a sql,(3)第三層是數(shù)據(jù)存取層:該層處理的對象是單個元組。
    (4)第四層是數(shù)據(jù)存儲層。該層處理的對象是數(shù)據(jù)頁和系統(tǒng)緩沖區(qū)。(5)操作系統(tǒng)是dbms的基礎。它處理的對象是數(shù)據(jù)文件的物理塊。4.22新的應用需求對dbms的挑戰(zhàn)
    考點54新的應用需求對dbms的挑戰(zhàn)
    由于現(xiàn)在以關系型數(shù)據(jù)庫管理系統(tǒng)(rdbms)為主流。這些新應用需求要求數(shù)據(jù)庫管理系統(tǒng)應該具有支持分布式操作、聯(lián)機事務處理能力、決策支持能力、支持多媒體、大容量、復雜數(shù)據(jù)應用、兼容性和集成能力、異種數(shù)據(jù)庫之間的互訪能力、系統(tǒng)可靠性、安全性、大型系統(tǒng)等方面的管理能力。
    在我國,當前流行的數(shù)據(jù)庫管理系統(tǒng)絕大多數(shù)是關系型數(shù)據(jù)庫管理系統(tǒng),一般可分為如下3類:
    (1)以pc機、微型機系統(tǒng)為運行環(huán)境的數(shù)據(jù)庫管理系統(tǒng)。(2)以oracle為代表的數(shù)據(jù)庫管理系統(tǒng),這類系統(tǒng)還有ibm db2,sybase等,也被稱為主流數(shù)據(jù)庫管理系統(tǒng)。
    (3)以microsoft 為代表的介于以上兩類之間的數(shù)據(jù)庫管理系統(tǒng)。
    4.23 oracle數(shù)據(jù)庫系統(tǒng)
    考點55oracle數(shù)據(jù)庫系統(tǒng)簡介
    oracle關系型數(shù)據(jù)庫管理系統(tǒng)是美國oracle公司的優(yōu)秀軟件產品,它采用sql語言作為數(shù)據(jù)庫語言。該公司于1979年推出了世界上第一個商業(yè)化的關系型數(shù)據(jù)庫系統(tǒng)。oracle數(shù)據(jù)庫的特點包括兼容性、可移植性、可連接性及高的生產率。
    考點56 oracle的主要產品及其功能 1oracle數(shù)據(jù)庫服務霖功能及其特色
    oracle數(shù)據(jù)庫服務器包括標準服務器和許多可選的服務器選件,選件用于擴展標準服務器的功能,以適應特殊的應用需求。
    (1)標準服務器主要具有下列特色:多進程多線索的體系結構、高性能核心技術、高可用性和sql的實現(xiàn)。
    (2)并行服務器選件(paralle server option)和并行查詢選件(paralle query option)。
    對數(shù)據(jù)庫的總結 數(shù)據(jù)庫應用實訓總結篇四
    數(shù)據(jù)庫原理綜合習題答案
    1.1 名詞解釋
    (1)db:即數(shù)據(jù)庫(database),是統(tǒng)一管理的相關數(shù)據(jù)的集合。db能為各種用戶共享,具有最小冗余度,數(shù)據(jù)間聯(lián)系密切,而又有較高的數(shù)據(jù)獨立性。
    (2)dbms:即數(shù)據(jù)庫管理系統(tǒng)(database management system),是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,為用戶或應用程序提供訪問db的方法,包括db的建立、查詢、更新及各種數(shù)據(jù)控制。dbms總是基于某種數(shù)據(jù)模型,可以分為層次型、網狀型、關系型、面向對象型dbms。
    (3)dbs:即數(shù)據(jù)庫系統(tǒng)(database system),是實現(xiàn)有組織地、動態(tài)地存儲大量關聯(lián)數(shù)據(jù),方便多用戶訪問的計算機軟件、硬件和數(shù)據(jù)資源組成的系統(tǒng),即采用了數(shù)據(jù)庫技術的計算機系統(tǒng)。
    (4)1:1聯(lián)系:如果實體集e1中的每個實體最多只能和實體集e2中的一個實體有聯(lián)系,反之亦然,那么實體集e1對e2的聯(lián)系稱為“一對一聯(lián)系”,記為“1:1”。
    (5)1:n聯(lián)系:如果實體集e1中每個實體與實體集e2中任意個(零個或多個)實體有聯(lián)系,而e2中每個實體至多和e1中的一個實體有聯(lián)系,那么e1對e2的聯(lián)系是“一對多聯(lián)系”,記為“1:n”。
    (6)m:n聯(lián)系:如果實體集e1中每個實體與實體集e2中任意個(零個或多個)實體有聯(lián)系,反之亦然,那么e1對e2的聯(lián)系是“多對多聯(lián)系”,記為“m:n”。
    (7)數(shù)據(jù)模型:模型是對現(xiàn)實世界的抽象。在數(shù)據(jù)庫技術中,表示實體類型及實體類型間聯(lián)系的模型稱為“數(shù)據(jù)模型”。它可分為兩種類型:概念數(shù)據(jù)模型和結構數(shù)據(jù)模型。
    (6)概念數(shù)據(jù)模型:是獨門于計算機系統(tǒng)的模型,完全不涉及信息在系統(tǒng)中的表示,只是用來描述某個特定組織所關心的信息結構。
    (9)結構數(shù)據(jù)模型:是直接面向數(shù)據(jù)庫的邏輯結構,是現(xiàn)實世界的第二層抽象。這類模型涉及到計算機系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng),所以稱為“結構數(shù)據(jù)模型”。結構數(shù)據(jù)模型應包含:數(shù)據(jù)結構、數(shù)據(jù)操作、數(shù)據(jù)完整性約束三部分。它主要有:層次、網狀、關系三種模型。
    (10)層次模型:用樹型結構表示實體類型及實體間聯(lián)系的數(shù)據(jù)模型。
    (11)網狀模型:用有向圖結構表示實體類型及實體間聯(lián)系的數(shù)據(jù)模型。
    (12)關系模型:是目前最流行的數(shù)據(jù)庫模型。其主要特征是用二維表格結構表達實體集,用外鍵表示實體間聯(lián)系。關系模型是由若干個關系模式組成的集合。
    (13)概念模式:是數(shù)據(jù)庫中全部數(shù)據(jù)的整體邏輯結構的描述。它由若干個概念記錄類型組成。概念模式不僅要描述概念記錄類型,還要描述記錄間的聯(lián)系、操作、數(shù)據(jù)的完整性、安全性等要求。
    (14)外模式:是用戶與數(shù)據(jù)庫系統(tǒng)的接口,是用戶用到的那部
    分數(shù)據(jù)的描述。
    (15)內模式:是數(shù)據(jù)庫在物理存儲方面的描述,定義所有的內部記錄類型、索引和文件的組成方式,以及數(shù)據(jù)控制方面的細節(jié)。
    (16)模式/內模式映象:這個映象存在于概念級和內部級之間,用于定義概念模式和內模式間的對應性,即概念記錄和內部記錄間的對應性。此映象一般在內模式中描述。
    (17)外模式/模式映象:這人映象存在于外部級和概念級之間,用于定義外模式和概念模式間的對應性,即外部記錄和內部記錄間的對應性。此映象都是在外模式中描述。
    (18)數(shù)據(jù)獨立性:在數(shù)據(jù)庫技術中,數(shù)據(jù)獨立性是指應用程序和數(shù)據(jù)之間相互獨立,不受影響。數(shù)據(jù)獨立性分成物理數(shù)據(jù)獨立性和邏輯數(shù)據(jù)獨立性兩級。
    (19)物理數(shù)據(jù)獨立性:如果數(shù)據(jù)庫的內模式要進行修改,即數(shù)據(jù)庫的存儲設備和存儲方法有所變化,那么模式/內模式映象也要進行相應的修改,使概念模式盡可能保持不變。也就是對模式的修改盡量不影響概念模式。
    (20)邏輯數(shù)據(jù)獨立性:如果數(shù)據(jù)庫的概念模式要進行修改(如增加記錄類型或增加數(shù)據(jù)項),那么外模式/模式映象也要進行相應的修改,使外模式盡可能保持不變。也就是對概念模式的修改盡量不影響外模式和應用程序。
    (21)宿主語言:在數(shù)據(jù)庫技術中,編寫應用程序的語言仍然是一些高級程序設計語言,這些語言稱為宿主語言(host language),簡稱主語言。
    (22)ddl:數(shù)據(jù)定義語言(data definition language),用于定義數(shù)據(jù)庫的三級結構,包括外模式、概念模式、內模式及其相互之間的映象,定義數(shù)據(jù)的完整性、安全控制等約束。
    (23)dml:數(shù)據(jù)操縱語言(data manipulation language),由dbms提供,用于讓用戶或程序員使用,實現(xiàn)對數(shù)據(jù)庫中數(shù)據(jù)的操作。dml分成交互型dml和嵌入型dml兩類。依據(jù)語言的級別,dml又可分成過程性dml和非過程性dml兩種。
    (24)交互型dml:如果dml自成系統(tǒng),可在終端上直接對數(shù)據(jù)庫進行操作,這種dml稱為交互型dml。
    (25)嵌入型dml:如果dml嵌入在主語言中使用,此時主語言是經過擴充能處理dml語句的語言,這種dml稱為嵌入型dml。
    (26)過程性dml:用戶編程時,不僅需要指出“做什么”(需要什么樣的數(shù)據(jù)),還需要指出“怎么做”(怎么獲得數(shù)據(jù))。層狀、網狀的dml屬于過程性語言。
    (27)非過程性dml:用戶編程時,只需要指出“做什么”,不需要指出“怎么做”。
    notice:以上關于dml的各個概念單獨出現(xiàn)時,首先要解釋dml的含義。
    (28)dd:數(shù)據(jù)字典(data dictionary),數(shù)據(jù)庫系統(tǒng)中存放三級結構定義的數(shù)據(jù)庫稱為數(shù)據(jù)字典。對數(shù)據(jù)庫的操作都要通過訪問dd才能實現(xiàn)。
    (29)dd系統(tǒng):管理dd的實用程序稱為“dd系統(tǒng)”。
    1.2 文件系統(tǒng)階段的數(shù)據(jù)管理有些什么缺陷?試舉例說明。
    文件系統(tǒng)有三個缺陷:
    (1)數(shù)據(jù)冗余性(redundancy)。由于文件之間缺乏聯(lián)系,造成每個應用程序都有對應的文件,有可能同樣的數(shù)據(jù)在多個文件中重復存儲。
    (2)數(shù)據(jù)不一致性(inconsistency)。這往往是由數(shù)據(jù)冗余造成的,在進行更新操作時,稍不謹慎,就可能使同樣的數(shù)據(jù)在不同的文件中不一樣。
    (3)數(shù)據(jù)聯(lián)系弱(poor data relationship)。這是由文件之間相互獨立,缺乏聯(lián)系造成的。
    1.3 數(shù)據(jù)庫階段的數(shù)據(jù)管理有些什么特點?
    (1)采用復雜的數(shù)據(jù)模型表示數(shù)據(jù)結構
    (2)有較高的數(shù)據(jù)獨立性(數(shù)據(jù)結構分成用戶的邏輯結構、整體邏輯結構和物理結構三級)
    (3)數(shù)據(jù)庫系統(tǒng)為用戶提供方便的用戶接口,可以使用查詢語言、終端命令或程序方式操作數(shù)據(jù),也可以用程序方式操作數(shù)據(jù)庫。
    (4)系統(tǒng)提供了四個方面的數(shù)據(jù)控制功能:數(shù)據(jù)庫的恢復、并發(fā)控制、數(shù)據(jù)完整性和數(shù)據(jù)安全性,以保證數(shù)據(jù)庫中數(shù)據(jù)是安全的、正確的和可靠的。
    (5)對數(shù)據(jù)的操作不一定以記錄為單位,還可以數(shù)據(jù)項為單位,增加了系統(tǒng)的靈活性。
    1.4 你怎樣理解實體、屬性、記錄、字段這些概念的類型和值的差別?試舉例說明。
    實體(entity):是指客觀存在可以相互區(qū)別的事物。實體可以是具體的對象,如:一個學生,一輛汽車等;也可以是抽象的事件,如:一次借書、一場足球賽等。
    屬性(attribute):實體有很多特性,每一個特性稱為屬性。每個屬性有一個值域,其類型可以是整數(shù)型、實數(shù)型、字符串型。比如,學生(實體)有學號、姓名、年齡、性別等屬性,相應值域為字符、字符串、整數(shù)和字符串型。
    字段(field):標記實體屬性的命名單位稱為字段或數(shù)據(jù)項。它是可以命名的最小信息單位,所以又稱為數(shù)據(jù)元素或初等項。字段的命名往往和屬性名相同,比如,學生有學號、姓名、年齡、性別等字段。
    記錄(record):字段的有序集合稱為記錄。一般用一個記錄描述一個實體,所以記錄又可以定義為能完整地描述一個實體的字段集。如:一個學生記錄,由有序的字段集(學號、姓名、年齡、性別等)組成。
    1.5 邏輯記錄與物理記錄,邏輯文件與物理文件有些什么聯(lián)系和區(qū)別?
    聯(lián)系:
    (1)邏輯記錄與物理記錄都是記錄,是字段的有序集合;
    (2)邏輯文件與物理文件都是文件,是同一類記錄的匯集。
    區(qū)別:
    (1)邏輯記錄與邏輯文件是邏輯數(shù)據(jù)描述,物理記錄與物理文件是物理數(shù)據(jù)描述。
    (2)物理數(shù)據(jù)描述是指數(shù)據(jù)在存儲設備上的存儲方式,物理記錄、物理文件(還有物理聯(lián)系、物理結構等術語),都是用來描述實際存儲設備上的數(shù)據(jù)。
    (3)邏輯數(shù)據(jù)描述是指程序員或用戶用以操作的數(shù)據(jù)形式,是抽象的概念化數(shù)據(jù)。邏輯記錄、邏輯文件(還有邏輯聯(lián)系、邏輯結構等術語),都是用戶觀點的數(shù)據(jù)描述。
    1.6 為某百貨公司設計一個er模型。
    百 貨管轄若干個連鎖商店,每家商店經營若干商品,每家商店有若干職工,但每個職工只能服務于一家商店。實體類型“商店”的屬性有:商店編號,店名,店址,店經理。實體類型“商品”的屬性有:商品編號,商品名,單價,產地。實體類型“職工”的屬性有:職工編號,職工名,性別,工資。在聯(lián)系中應反映出職工參加某商店工作的開始時間,商店銷售商品的月銷售量。
    試畫出反映商店、商品、職工實體類型及聯(lián)系類型的er圖,并將其轉換成關系模式集。
    實體:商店(商店編號,店名,店址,店經理)
    商品(商品編號,商品名,單價,產地)
    職工(職工編號,職工名,性別,工資)
    聯(lián)系:sc(商店—商品之間1:n的聯(lián)系,聯(lián)系屬性為“職工參加商店工作的開始時間”。
    se(商店—職工之間1:n的聯(lián)系),聯(lián)系屬性為“月銷售量”。
    關系模式集:商店模式(商店編號,店名,店址,店經理)
    商品模式(商品編號,商品名,單價,產地,商店編號,月銷售量)
    職工模式(職工編號,職工名,性別,工資,商店編號,開始時間)
    1.7 試述er模型、層次模型、網狀模型、關系模型和面向對象模型的主要特點。
    er模型的主要特點:
    (1)優(yōu)點:接近于人的思維,容易理解;與計算機無關,用戶容易接受。
    (2)缺點:只能說明實體間語義的聯(lián)系,不能進一步說明詳細的數(shù)據(jù)結構。
    層次模型的特點:
    (1)優(yōu)點:記錄之間的聯(lián)系通過指針實現(xiàn),查詢效率較高。
    (2)缺點:只能表示1:n聯(lián)系,實現(xiàn)m:n結構較復雜;由于層次順序的嚴格和復雜,引起數(shù)據(jù)的查詢和更新操作也很復雜。
    網狀模型的特點:
    (1)優(yōu)點:記錄之間聯(lián)系通過指針實現(xiàn),m:n聯(lián)系也容易實現(xiàn)(每個m:n聯(lián)系可拆成兩個1:n聯(lián)系),查詢效率較高。
    (2)缺點:編寫應用程序比較復雜,程序員必須熟悉數(shù)據(jù)庫的邏輯結構。
    關系模型的特點:
    用關鍵碼而不是用指針導航數(shù)據(jù),表格簡單,用戶易懂,編程時并不涉及存儲結構、訪問技術等細節(jié)。
    1.8 試述概念模式在數(shù)據(jù)庫結構中的重要地位。
    概念模式是數(shù)據(jù)庫中
    全部數(shù)據(jù)的整體邏輯結構的描述。它由若干個概念記錄類型組成。概念模式不僅要描述概念記錄類型,還要描述記錄間的聯(lián)系、操作、數(shù)據(jù)的完整性、安全性等要求。數(shù)據(jù)按外模式的描述提供給用戶,按內模式的描述存儲在磁盤中,而概念模式提供了連接這兩級的相對穩(wěn)定的中間觀點,并使得兩級的任何一級的改變都不受另一級的牽制。
    1.9 數(shù)據(jù)獨立性與數(shù)據(jù)聯(lián)系這兩個概念有什么區(qū)別?
    數(shù)據(jù)獨立性是指應用程序與數(shù)據(jù)之間相互獨立,不受影響。
    數(shù)據(jù)聯(lián)系是指同一記錄內部各字段間的聯(lián)系,以及記錄之間的聯(lián)系。
    1.10 試述dbms在用戶訪問數(shù)據(jù)庫過程中所起的作用.用戶對數(shù)據(jù)庫進行操作,dbms把操作從應用程序帶到外部級、概念級、再導向內部級,進而操作存儲器中的數(shù)據(jù)。
    (結合p22“用戶訪問數(shù)據(jù)的過程”來理解)
    1.11 試述dbms的主要功能。
    dbms的主要功能有:
    (1)數(shù)據(jù)庫的定義功能
    (2)數(shù)據(jù)庫的操縱功能
    (3)數(shù)據(jù)庫的保護功能
    (4)數(shù)據(jù)庫的存儲管理
    (5)數(shù)據(jù)庫的維護功能
    (6)數(shù)據(jù)字典
    1.12 試敘dbms對數(shù)據(jù)庫的保護功能。
    dbms對數(shù)據(jù)庫的保護主要通過四個方面實現(xiàn):
    (1)數(shù)據(jù)庫的恢復。
    (2)數(shù)據(jù)庫的并發(fā)控制。
    (3)數(shù)據(jù)庫的完整性控制。
    (4)數(shù)據(jù)庫的安全性控制。
    1.13 試敘dbms對數(shù)據(jù)庫的維護功能。
    dbms中有一些程序提供給數(shù)據(jù)庫管理員運行數(shù)據(jù)庫系統(tǒng)時使用,這些程序起著數(shù)據(jù)庫維護的功能。
    主要有四個實用程序:
    (1)數(shù)據(jù)裝載程序(loading)
    (2)備份程序(backup)
    (3)文件重組織程序
    (4)性能監(jiān)控程序
    1.14 從模塊結構看,dbms由哪些部分組成?
    從模塊結構看,dbms由兩大部分組成:查詢處理器和存儲管理器
    (1)查詢處理器有四個主要成分:ddl編譯器,dml編譯器,嵌入型dml的預編譯器,查詢運行核心程序
    (2)存儲管理器有四個主要成分:授權和完整性管理器,事務管理器,文件管理器,緩沖區(qū)管理器
    (以上幾題具體可參照書上p20-21)
    1.15 dbs由哪幾個部分組成?
    dbs由四部分組成:數(shù)據(jù)庫、硬件、軟件、數(shù)據(jù)庫管理員。
    1.16 什么樣的人是dba?dba應具有什么素質?dba的職責是什么?
    dba是控制數(shù)據(jù)整體結構的人,負責dbs的正常運行。dba可以是一個人,在大型系統(tǒng)中也可以是由幾個人組成的小組。dba承擔創(chuàng)建、監(jiān)控和維護整個數(shù)據(jù)庫結構的責任。
    dba應具有下列素質:
    (1)熟悉企
    業(yè)全部數(shù)據(jù)的性質和用途;
    (2)對用戶的需求有充分的了解;
    (3)對系統(tǒng)的性能非常熟悉。
    dba的主要職責有五點:
    (1)概念模式定義
    (2)內模式定義
    (3)根據(jù)要求修改數(shù)據(jù)庫的概念模式和內模式
    (4)對數(shù)據(jù)庫訪問的授權
    (5)完整性約束的說明
    1.17 試對dbs的全局結構作詳細解釋。
    參照教材p24-25。
    1.18 使用dbs的用戶有哪幾類? 使用dbs的用戶有四類:
    1)dba
    2)專業(yè)用戶
    3)應用程序員
    4)最終用戶
    1.19 dbms的查詢處理器有哪些功能?
    dbms的查詢處理器可分成四個成分:
    1)dml編譯器
    2)嵌入型dml的預編譯器
    3)ddl編譯器
    4)查詢運行核心程序
    (各成分功能參照p24)
    1.20 dbms的存儲處理器有哪些功能?
    dbms的存儲處理器提供了應用程序訪問數(shù)據(jù)庫中數(shù)據(jù)的界面,可分成四個成分:
    1)授權和完整性管理器
    2)事務管理器
    3)文件管理器
    4)緩沖區(qū)管理器
    (各成分功能參照p25)
    1.21 磁盤存儲器中有哪四類主要的數(shù)據(jù)結構?
    數(shù)據(jù)文件:存儲了數(shù)據(jù)庫中的數(shù)據(jù);
    數(shù)據(jù)字典(dd):存儲三級結構的描述;
    索引文件:為提高查詢速度而設置的邏輯排序手段;
    統(tǒng)計數(shù)據(jù)組織:存儲dbs運行時統(tǒng)計分析數(shù)據(jù)。
    (1)關系模型:用二維表格結構表示實體集,外鍵表示實體間聯(lián)系的數(shù)據(jù)模型稱為關系模型。
    (2)關系模式:關系模式實際上就是記錄類型。它的定義包括:模式名,屬性名,值域名以及模式的主鍵。關系模式不涉及到物理存儲方面的描述,僅僅是對數(shù)據(jù)特性的描述。
    (3)關系實例:元組的集合稱為關系和實例,一個關系即一張二維表格。
    (4)屬性:實體的一個特征。在關系模型中,字段稱為屬性。
    (5)域:在關系中,每一個屬性都有一個取值范圍,稱為屬性的值域,簡稱域。
    (6)元組:在關系中,記錄稱為元組。元組對應表中的一行;表示一個實體。
    (7)超鍵:在關系中能唯一標識元組的屬性集稱為關系模式的超鍵。
    (8)候選鍵:不含有多余屬性的超鍵稱為候選鍵。
    (9)主鍵:用戶選作元組標識的一個候選鍵為主鍵。(單獨出現(xiàn),要先解釋“候選鍵”)
    (10)外鍵:某個關系的主鍵相應的屬性在另一關系中出現(xiàn),此時該主鍵在就是另一關系的外鍵,如有兩個關系s和sc,其中s#是關系s的主鍵,相應的屬性s#在關系sc中也出現(xiàn),此時s#就是關系sc的外鍵。
    (11)實體完整性規(guī)則:這條
    規(guī)則要求關系中元組在組成主鍵的屬性上不能有空值。如果出現(xiàn)空值,那么主鍵值就起不了唯一標識元組的作用。
    (12)參照完整性規(guī)則: 這條規(guī)則要求“不引用不存在的實體”。其形式定義如下:如果屬性集k是關系模式r1的主鍵,k也是關系模式r2的外鍵,那么r2的關系中,k的取值只允許有兩種可能,或者為空值,或者等于r1關系中某個主鍵值。這條規(guī)則在使用時有三點應注意: 1)外鍵和相應的主鍵可以不同名,只要定義在相同值域上即可。2)r1和r2也可以是同一個關系模式,表示了屬性之間的聯(lián)系。3)外鍵值是否允許空應視具體問題而定。
    (13)過程性語言:在編程時必須給出獲得結果的操作步驟,即“干什么”和“怎么干”。如pascal和c語言等。
    (14)非過程性語言:編程時只須指出需要什么信息,不必給出具體的操作步驟。各種關系查詢語言均屬于非過程性語言。
    (15)無限關系:當一個關系中存在無窮多個元組時,此關系為無限關系。如元組表達式{t|┐r(t)}表示所有不在關系r中的元組的集合,這是一個無限關系。
    (16)無窮驗證:在驗證公式時需對無窮多個元組進行驗證就是無窮驗證。如驗證公式(u)(p(u))的真假時需對所有的元組u進行驗證,這是一個無窮驗證的問題。
    2.2 為什么關系中的元組沒有先后順序?
    因為關系是一個元組的集合,而元組在集合中的順序無關緊要。因此不考慮元組間的順序,即沒有行序。
    2.3 為什么關系中不允許有重復元組?
    因為關系是一個元組的集合,而集合中的元素不允許重復出現(xiàn),因此在關系模型中對關系作了限制,關系中的元組不能重復,可以用鍵來標識唯一的元組。
    2.4 關系與普通的表格、文件有什么區(qū)別?
    關系是一種規(guī)范化了的二維表格,在關系模型中,對關系作了下列規(guī)范性限制:
    1)關系中每一個屬性值都是不可分解的。
    2)關系中不允許出現(xiàn)相同的元組(沒有重復元組)。
    3)由于關系是一個集合,因此不考慮元組間的順序,即沒有行序。
    4)元組中,屬性在理論上也是無序的,但在使用時按習慣考慮列的順序。
    2.5 笛卡爾積、等值聯(lián)接、自然聯(lián)接三者之間有什么區(qū)別?
    笛卡爾積對兩個關系r和s進行乘操作,產生的關系中元組個數(shù)為兩個關系中元組個數(shù)之積。
    等值聯(lián)接則是在笛卡爾積的結果上再進行選擇操作,從關系r和s的笛卡兒積中選擇對應屬性值相等的元組;
    自然連接則是在等值聯(lián)接(以所有公共屬性值相等為條件)的基礎上再行投影操作,并去掉重復的公共屬性列。當兩個關系沒有公共屬性時,自然連接就轉化我笛卡爾積。
    2.8 如果r是二元關
    系,那么下列元組表達式的結果是什么? {t|(u)(r(t)∧r(u)∧(t[1]≠u[1]∨t[2]≠u[2]))}
    這個表達式的意思是:從關系r中選擇元組,該元組滿足:第1分量值或第2分量值至少有一個不等于其他某元組。由于r是二元關系,只有兩個分量,由于沒有重復元組,上述條件顯然滿足。所以,這個表達式結果就是關系r。
    2.9 假設r和s分別是三元和二元關系,試把表達式π1,5(σ2=4∨3=4(r×s))轉換成等價的:(1)漢語查詢句子;(2)元組表達式;(3)域表達式。
    (1)漢語表達式:
    從r×s關系中選擇滿足下列條件的元組:
    第2分量(r中第2分量)與第4分量(s中第1分量)值相等,或第3分量(r中第3分量)與第4分量(s中第1分量)值相等;并取第1列與第5列組成的新關系。
    (2)元組表達式:{t|(u)(v)(r(u)∧s(v)∧(u[2]=v[1]∨u[3]=v[1])∧t[1]=u[1]∧t[2]=v[2])}(3)域表達式:{xv|(y)(z)(u)(r(xyz)∧s(uv)∧(y=u∨z=u))}
    2.10 假設r和s都是二元關系,試把元組表達式{t|r(t)∧(u)(s(u)∧u[1]≠t[2])}轉換成等價的:(1)漢語查詢句子;(2)域表達式:(3)關系代數(shù)表達式。
    (1)漢語表達式:選擇r關系中元組第2分量值不等于s關系中某元組第1分量值的元組。
    (2)域表達式:{xy|(u)(v)(r(xy)∧s(uv)∧(u≠y))}(3)關系代數(shù)表達式:π1,2(σ2≠3(r×s))
    2.11 試把域表達式{ab|r(ab)∧r(ba)}轉換成等價的:
    (1)漢語查詢句子;(2)關系代數(shù)表達式;(3)元組表達式。
    (1)漢語查詢句子:選擇r中元組第1分量值與第2分量值互換后仍存在于r中的元組。
    (2)關系代數(shù)表達式:π1,2(σ1=4∧2=3(r×r));
    (3)元組表達式:{t|(u)(r(t)∧r(u)∧t[1]=u[2]∧t[2]=u[1])}
    試用關系代數(shù)表達式表示下列查詢語句。(見下一題)
    2.14 試用元組表達式表示上題中各個查詢語句。
    (1)檢索liu老師所授課程的課程號、課程名。
    πc#,cname(σteacher='liu'(c))
    {t|(u)(c(u)∧c[3]='liu'∧t[1]=u[1]∧t[2]=u[2])}
    (2)檢索年齡大于23歲的男學生的學號與姓名。
    πs#,sname(σage>'23'∧sex='男'(s))
    {t|(u)(s(u)∧u[3]>'23'∧u[4]='男'∧t[1]=u[1]∧t[2]=u[2])}
    (3)檢索學號為s3學生所學課程的課程名與任課教師名。πcname,teacher(σs#='s3'(scc))
    {t|(u)(v)(sc(u)∧c(v)∧u[1]='s3'∧v[1]=u[2]∧t[1]=v[2]∧t[2]=v[3])}
    (4)檢索至少選修liu老
    師所授課程中一門課程的女學生的姓名。
    πsname(σsex='女'∧teacher='liu'(sscc))
    {t|(u)(v)(w)(s(u)∧sc(v)∧c(w)∧u[4]='女'∧v[1]=u[1]∧v[2]=w[1]∧w[3]='liu'∧t[1]=u[2])}
    (5)檢索wang同學不學的課程號。
    πc#(c)-πc#(σsname='wang'(ssc))
    或者,πc#(sc)-πc#(σsname='wang'(ssc))(全部課程號減去wang同學所學的課程號){t|(u)(v)(c(u)∧sc(v)∧(u[1]=v[2]=>(w)(s(w)∧w[1]=v[1]∧w[2]≠'wang'))∧t[1]=u[1])}
    (從c中選擇滿足條件的元組:sc中的所有元組,如果學號與c中所選元組相同的話,其在s中對應的姓名肯定不是'wang'。)
    notice:“p1=>p2”的含義是:如果p1為真,則p2為真。
    (6)檢索至少選修兩門課程的學生學號。
    πs#(σ1=4∧2≠5(sc×sc))
    sc自乘之后,再選擇(同一個學號中兩個課程號不同的元組),投影。
    {t|(u)(v)(sc(u)∧sc(v)∧u[1]=v[1]∧u[2]≠v[2])∧t[1]=u[1]}
    (7)檢索全部學生都選修的課程的課程號與課程名。
    πc#,cname(c(πs#,c#(sc)÷πs#(s)))(涉及到全部值時,應用除法,“除數(shù)”是“全部”){t|(u)(v)(w)(s(u)∧sc(v)∧c(w)∧u[1]=v[1]∧v[2]=w[1]∧t[1]=v[1]∧t[2]=v[2])}
    (8)檢索選修課程包含liu老師所授課程的學生學號。
    πs#(σteacher='liu'(scc))
    {t|(u)(v)(sc(u)∧c(v)∧u[2]=v[1]∧v[3]='liu'∧t[1]=u[1])}
    如果liu老師有多門課程,則選修課程包含liu老師所授全部課程的學生學號為:
    πs#,c#(sc)÷πc#(σteacher='liu'(c))
    2.15 在教學數(shù)據(jù)庫s、sc、c中,用戶有一查詢語句:檢索女同學選修課程的課程名和任課教師名。(1)試寫出該查詢的關系代數(shù)表達式;(2)試寫出查詢優(yōu)化的關系代數(shù)表達式。
    (1)πcname,teacher(σsex='女'(sscc))
    (2)優(yōu)化為:πcname,teacher(cπc#(πs#,c#(sc)πs#(σsex='女'(s))))
    (基本思路:盡量提前做選擇操作;在每個操作后,應做個投影操作,去掉不用的屬性值。
    2.16 在2.15題中,(1)畫出該查詢初始的關系代數(shù)表達式的語法樹。
    (2)使用2.4.4節(jié)的優(yōu)化算法,對語法樹進行優(yōu)化,并畫出優(yōu)化后的語法樹。
    該查詢初始的關系代數(shù)表達式的語法樹
    優(yōu)化后的語法樹
    2.17 為什么要對關系代數(shù)表達式進行優(yōu)化?
    在關系代數(shù)運算中,各個運算所費時間和空間是不一樣的。如何安排若干關系的運算操作步驟,直接影響到整個操作所需要的時間和空間。對關系代數(shù)表達式進行優(yōu)化,可以提高系統(tǒng)的操作效率,達到執(zhí)行過程即省時間又省空間的目的。
    3.1 名詞解釋
    (1)sql模式:sql模式是表和授權的靜態(tài)定義。一個sql模式定義為基本表的集合。一個由模式名和模式擁有者的用戶名或賬號來確定,并包含模式中每一個元素(基本表、視圖、索引等)的定義。
    (2)sql數(shù)據(jù)庫:sql(structured query language),即‘結構
    式查詢語言’,采用英語單詞表示和結構式的語法規(guī)則。一個sql數(shù)據(jù)庫是表的匯集,它用一個或多個sql模式定義。
    (3)基本表:在sql中,把傳統(tǒng)的關系模型中的關系模式稱為基本表(base table)?;颈硎菍嶋H存儲在數(shù)據(jù)庫中的表,對應一個關系。
    (4)存儲文件:在sql中,把傳統(tǒng)的關系模型中的存儲模式稱為存儲文件(stored file)。每個存儲文件與外部存儲器上一個物理文件對應。
    (5)視圖:在sql中,把傳統(tǒng)的關系模型中的子模式稱為視圖(view),視圖是從若干基本表和(或)其他視圖構造出來的表。
    (6)行:在sql中,把傳統(tǒng)的關系模型中的元組稱為行(row)。
    (7)列:在sql中,把傳統(tǒng)的關系模型中的屬性稱為列(coloumn)。
    (8)實表:基本表被稱為“實表”,它是實際存放在數(shù)據(jù)庫中的表。
    (9)虛表:視圖被稱為“虛表”,創(chuàng)建一個視圖時,只把視圖的定義存儲在數(shù)據(jù)詞典中,而不存儲視圖所對應的數(shù)據(jù)。
    (10)相關子查詢:在嵌套查詢中出現(xiàn)的符合以下特征的子查詢:子查詢中查詢條件依賴于外層查詢中的某個值,所以子查詢的處理不只一次,要反復求值,以供外層查詢使用。
    (11)聯(lián)接查詢:查詢時先對表進行笛卡爾積操作,然后再做等值聯(lián)接、選擇、投影等操作。聯(lián)接查詢的效率比嵌套查詢低。
    (12)交互式sql:在終端交互方式下使用的sql語言稱為交互式sql。
    (13)嵌入式sql:嵌入在高級語言的程序中使用的sql語言稱為嵌入式sql。
    (14)共享變量:sql和宿主語言的接口。共享變量有宿主語言程序定義,再用sql的declare語句說明,sql語句就可引用這些變量傳遞數(shù)據(jù)庫信息。
    (15)游標:游標是與某一查詢結果相聯(lián)系的符號名,用于把集合操作轉換成單記錄處理方式。
    (16)卷游標:為了克服游標在推進時不能返回的不便,sql2提供了卷游標技術。卷游標在推進時不但能沿查詢結果中元組順序從頭到尾一行行推進,也能一行行返回。
    3.2 對于教學數(shù)據(jù)庫的三個基本表
    學生 s(s#,sname,age,sex)
    學習sc(s#,c#,grade)
    課程 c(c#,cname,teacher)
    試用sql的查詢語句表達下列查詢:
    (1)檢索liu老師所授課程的課程號和課程名。
    select c#,cname
    from c
    where teacher=‘liu’
    (2)檢索年齡大于23歲的男學生的學號和姓名。
    select s#,sname
    from s
    where(age>23)and(sex=‘m’)
    (3)檢索至少選修liu老師所授課程中一門課程的女學生姓名。
    select sname
    from s
    where sex=‘f’ and s# in
    (select s#
    from sc
    where c# in
    (select c#
    om c
    where teacher=‘liu’)
    notice:有多種寫法,比如聯(lián)接查詢寫法:
    select sname
    from s,sc,c
    where sex=‘f’ and sc.s#=s.s#
    and sc.c#=c.c#
    and teacher='liu' 但上一種寫法更好一些。
    (4)檢索wang同學不學的課程的課程號。
    select c#
    from c
    where c# not in
    (select c#
    from sc
    where s# in
    (select s#
    from s
    where sname='wang'))
    fr
    (5)檢索至少選修兩門課程的學生學號。
    select distinct
    from sc x,sc y
    where = and <> notice:對表sc進行自連接,x,y是sc的兩個別名。
    (6)檢索全部學生都選修的課程的課程號與課程名。
    select c#,cname
    from c
    where not exists
    (select *
    from s
    where s# not in
    (select *
    from sc
    where sc.c#=c.c#))
    要從語義上分解:(1)選擇課程的課程號與課程名,不存在不選這門課的同學。
    其中,“不選這門課的同學”可以表示為:
    select *
    from s
    where s# not in
    (select *
    from sc
    where sc.c#=c.c#)
    或者
    select *
    from s
    where
    not exists
    (select *
    from sc
    where s.s#=c.s# and
    sc.c#=c.c#)
    (7)檢索選修課程包含liu老師所授課的學生學號。
    select distinct s#
    from sc
    where c# in
    (select c#
    from c
    where teacher='liu'))
    3.3 設有兩個基本表r(a,b,c)和s(d,e,f),試用sql查詢語句表達下列關系代數(shù)表達式:
    (1)πa(r)
    (2)σb='17'(r)
    (3)r×s
    (4))πa,f(σc=d(r×s))(1)select a from r
    (2)select * from r where b='17'(3)select a,b,c,d,e,f from r,s
    (4)select a,f from r,s where r.c=s.d
    3.4 3.4 設有兩個基本表r(a,b,c)和s(a,b,c)試用sql查詢語句表達下列關系代數(shù)表達式:
    (1)r∪s
    (2)r∩s
    (3)r-s
    (4)πa,b(r)πb,c(s)
    (1)select a,b,c
    from r
    union
    select a,b,c
    from s
    (2)select a,b,c
    from r
    intersect
    select a,b,c
    from s
    (3)select a,b,c
    from r
    where not exists
    (select a,b,c
    from s
    where r.a=s.a and r.b=s.b and r.c=s.c)
    (4)select r.a,r.b,s.c
    from r,s
    whe
    re r.b=s.b
    3.5 試敘述sql語言的關系代數(shù)特點和元組演算特點。
    (p61-62)
    3.6 試用sql查詢語句表達下列對教學數(shù)據(jù)庫中三個基本表s、sc、c的查詢:
    (1)統(tǒng)計有學生選修的課程門數(shù)。
    select count(distinct c#)from sc
    (2)求選修c4課程的學生的平均年齡。
    select avg(age)
    from s
    where s# in
    (select s#
    from sc
    where c#='c4')或者,select avg(age)
    from s,sc
    where s.s#=sc.s# and c#='004'
    (3)求liu老師所授課程的每門課程的學生平均成績。
    select cname,avg(grade)
    from sc ,c
    where sc.c#=c.c# and teacher='liu'
    group by c#
    (4)統(tǒng)計每門課程的學生選修人數(shù)(超過10人的課程才統(tǒng)計)。要求輸出課程號和選修人數(shù),查詢結果按人數(shù)降序排列,若人數(shù)相同,按課程號升序排列。
    select distinct c#,count(s#)
    from sc
    group by c#
    having count(s#)>10
    order by 2 desc, c# asc
    (5)檢索學號比wang同學大,而年齡比他小的學生姓名。
    select
    from s as x, s as y
    where ='wang' and x.s#>y.s# and
    (6)檢索姓名以wang打頭的所有學生的姓名和年齡。
    select sname,age
    from s
    where sname like 'wang%'
    (7)在sc中檢索成績?yōu)榭罩档膶W生學號和課程號。
    select s#,c#
    from sc
    where grade is null
    (8)求年齡大于女同學平均年齡的男學生姓名和年齡。
    select sname,age
    from s as x
    where ='男' and >(select avg(age)from s as y where ='女')
    (9)求年齡大于所有女同學年齡的男學生姓名和年齡。
    select sname,age
    from s as x
    where ='男' and >all(select age from s as y where ='女')
    3.7 試用sql更新語句表達對教學數(shù)據(jù)庫中三個基本表s、sc、c的各個更新操作:
    (1)往基本表s中插入一個學生元組(‘s9’,‘wu’,18)。
    insert into s(s#,sname,age)values('59','wu',18)
    (2)在基本表s中檢索每一門課程成績都大于等于80分的學生學號、姓名和性別,并把檢索到的值送往另一個已存在的基本表student(s#,sanme,sex)。
    insert into student(s#,sname,sex)
    select s#,sname,sex
    from s where not exists
    (select * from sc where
    grade<80 and s.s#=sc.s#)
    (3)在基本表sc中刪除尚無成績的選課元組。
    delete from sc
    where grade is null(4)把wang同學的學習選課和成績全部刪去。
    dele
    te from sc
    where s# in
    (select s#
    from s
    where sname='wang')
    (5)把選修maths課不及格的成績全改為空值。
    update sc
    set grade=null
    where grade<60 and c# in
    (select c#
    from c
    where cname='maths')
    (6)把低于總平均成績的女同學成績提高5%。
    update sc
    set grade=grade*1.05
    where grade<(select avg(grade)from sc)and s# in(select s# from s where sex='f')
    (7)在基本表sc中修改c4課程的成績,若成績小于等于75分時提高5%,若成績大于75分時提高4%(用兩個update語句實現(xiàn))。
    update sc
    set grade=grade*1.05
    where c#='c4' and grade<=75
    update sc
    set grade=grade*1.04
    where c#='c4' and grade>75
    3.8 在第1章例1.4中提到“倉庫管理”關系模型有五個關系模式:
    零件 part(p#,pname,color,weight)
    項目 project(j#,jname,date)
    供應商 supplier(s#,sname,saddr)
    供應 p_p(j#,p#,totoal)
    采購 p_s(p#,s#,quantity)
    (1)試用sql ddl語句定義上述五個基本表,并說明主鍵和外鍵。
    create table part
    (p# char(4)not null,pname char(12)not null,color char(10),weight real,primary key(p#))
    create table project
    (j# char(4)not null,jname char(12)not null,date date,primary key(j#))
    create table suplier
    (s# char(4)not null,sname char(12),saddr varchar(20),primary key(s#))
    create table p_p
    (j# char(4),p# char(4),total integer,primary key(j#,p#),foreign key(j#)reference project(j#),foreign key(p#)reference part(p#))
    create table p_s
    (p# char(4),s# char(4),quantity integer,primary key(p#,s#),foreign key(p#)reference part(p#),foreign key(s#)reference suplier(s#))
    (2)試將progect、p_p、part三個基本表的自然聯(lián)接定義為一個視圖view1,part、p_s、supplier 三個基本表的自然聯(lián)接定義為一個視圖view2。
    create view view1(j#,jname,date,p#,pname,color,weight,total)
    as select project.j#,jname,date,part.p#,pname,color,weight,total
    from project,part,p_p
    where part.p#=p_p.p# and p_p.j#=project.j
    #create view view2(p#,pname,color,weight,s#,sname,saddr,quantity)
    as select part.p#,pname,color,weight,supplier.s#,sname,saddr,qua
    ntity
    from part,p_s,supplier
    where part.p#=p_s.p# and p_s.s#=supplier.s#
    (3)試在上述兩個視圖的基礎上進行數(shù)據(jù)查詢:
    1)檢索上海的供應商所供應的零件的編號和名字。
    select p#,pname from view2 where saddr='shanghai'
    2)檢索項目j4所用零件的供應商編號和名字。
    select s#,sname from view2 where p# in(select p# from view1 where j#='j4')
    3.9 對于教學數(shù)據(jù)庫中基本表sc,已建立下列視圖:
    create view s_grade(s#,c_num,avg_grade)
    as select s#,count(c#),avg(grade)
    from sc
    group by s#
    試判斷下列查詢和更新是否允許執(zhí)行。若允許,寫出轉換到基本表sc上的相應操作。
    (1)select *
    from s_grade
    允許
    select s#,count(c#),avg(grade)from sc group by s#
    (2)select s#,c_num
    from s_grade
    where avg_grade>80
    允許
    select s#,count(c#)from sc where avg(grade)>80
    (3)select s#,avg_grade
    from s_grade
    where c_num>(select c_num
    from s_grade
    where s#=‘s4’)
    允許
    select s#,avg(grade)
    from sc as x
    where count(x.c#)>(select count(y.c#)from sc as y where y.s#='s4')
    group by s#
    (4)update s_grade
    set c_num=c_num+1
    where s#=‘s4’
    不允許
    (5)delete from s_grade
    where c_num>4
    不允許
    3.10 預處理方式對于嵌入式sql的實現(xiàn)有什么重要意義?
    預處理方式是先用預處理程序對源程序進行掃描,識別出sql語句,并處理成宿主語言的函數(shù)調用形式;然后再用宿主語言的編譯程序把源程序編譯成目標程序。這樣,不用擴充宿主語言的編譯程序,就能處理sql語句。
    3.11 在宿主語言的程序中使用sql語句有哪些規(guī)定?
    在宿主語言的程序中使用slq語句有以下規(guī)定:
    (1)在程序中要區(qū)分sql語句與宿主語言語句
    (2)允許嵌入的sql語句引用宿主語言的程序變量(稱為共享變量),但有兩條規(guī)定:
    1)引用時,這些變量前必須加“:”作為前綴標識,以示與數(shù)據(jù)庫中變量有區(qū)別。
    2)這些變量由宿主語言的程序定義,并用sql的declare語句說明。
    (3)sql的集合處理方式與宿主語言單記錄處理方式之間要協(xié)調。需要采用
    游標機制,把集合操作轉換成單記錄處理方式。
    3.12 sql的集合處理方式與宿主語言單記錄處理方式之間如何協(xié)調?
    由于sql語句處理的是記錄集合,而宿主語言語句一次只能處理一個記錄,因此需要用游標(cousor)機制,把集合操作轉換成單記錄處理方式。
    2.13 嵌入式sql語句何時不必涉及到游標?何時必須涉及到游標?
    (1)insert、delete、update語句,查詢結果肯定是單元組時的select語句,都可直接嵌入在主程序中使用,不必涉及到游標。
    (2)當select語句查詢結果是多個元組時,此時宿主語言程序無法使用,一定要用游標機制把多個元組一次一個地傳送給宿主語言處理。
    4.1 名詞解釋
    (1)函數(shù)依賴:fd(function dependency),設有關系模式r(u),x,y是u的子集,r是r的任一具體關系,如果對r的任意兩個元組t1,t2,由t1[x]=t2[x]導致t1[y]=t2[y], 則稱x函數(shù)決定y,或y函數(shù)依賴于x,記為x→y。x→y為模式r的一個函數(shù)依賴。
    (2)函數(shù)依賴的邏輯蘊涵:設f是關系模式r的一個函數(shù)依賴集,x,y是r的屬性子集,如果從f中的函數(shù)依賴能夠推出x→y,則稱f邏輯蘊涵x→y,記為f|=x→y。
    (3)部分函數(shù)依賴:即局部依賴,對于一個函數(shù)依賴w→a,如果存在xw(x包含于w)有x→a成立,那么稱w→a是局部依賴,否則稱w→a為完全依賴。
    (4)完全函數(shù)依賴:見上。
    (5)傳遞依賴:在關系模式中,如果y→x,x→a,且xy(x不決定y),ax(a不屬于x),那么稱y→a是傳遞依賴。
    (6)函數(shù)依賴集f的閉包f+: 被邏輯蘊涵的函數(shù)依賴的全體構成的集合,稱為f的閉包(closure),記為f+。
    (7)1nf: 第一范式。如果關系模式r的所有屬性的值域中每一個值都是不可再分解的值, 則稱r是屬于第一范式模式。如果某個數(shù)據(jù)庫模式都是第一范式的,則稱該數(shù)據(jù)庫存模式屬于第一范式的數(shù)據(jù)庫模式。第一范式的模式要求屬性值不可再分裂成更小部分,即屬性項不能是屬性組合和組屬性組成。
    (8)2nf: 第二范式。如果關系模式r為第一范式,并且r中每一個非主屬性完全函數(shù)依賴于r的某個候選鍵,則稱是第二范式模式;如果某個數(shù)據(jù)庫模式中每個關系模式都是第二范式的,則稱該數(shù)據(jù)庫模式屬于第二范式的數(shù)據(jù)庫模式。(注:如果a是關系模式r的候選鍵的一個屬性,則稱a是r的主屬性,否則稱a是r的非主屬性。)
    (9)3nf:第三范式。如果關系模式r是第二范式,且每個非主屬性都不傳遞依賴于r的候選鍵,則稱r是第三范式的模式。如果某個數(shù)據(jù)庫模式中的每個關系模式都是第三范式,則稱為3nf的數(shù)據(jù)庫模式。
    (10)bcnf:bc范式。如果關系模式r是第一范式,且每個屬性都不傳遞依賴于r的候選鍵,那么稱r
    是bcnf的模式。
    (11)4nf:第四范式。設r是一個關系模式,d是r上的多值依賴集合。如果d中成立非平凡多值依賴x→→y時,x必是r的超鍵,那么稱r是第四范式的模式。
    (12)推理規(guī)則的正確性和完備性:正確性是指,如果x→y是從推理規(guī)則推出的,那么x→y在f+中。完備性是指,不能從f使用推理規(guī)則導出的函數(shù)依賴不在f+中。
    (13)依賴集的覆蓋和等價:關系模式r(u)上的兩個函數(shù)依賴集f和g,如果滿足f+=g+,則稱f和g是等價的。如果f和g等價,則可稱f覆蓋g或g覆蓋f。
    (14)最小依賴集:如果函數(shù)集合f滿足以下三個條件:(1)f中每個函數(shù)依賴的右部都是單屬性;(2)f中的任一函數(shù)依賴x→a,其f-{x→a}與f是不等價的;(3)f中的任一函數(shù)依賴x→a,z為x的子集,(f-{x→a})∪{z→a}與f 不等價。則稱f為最小函數(shù)依賴集合,記為fmin。
    (15)無損聯(lián)接:設r是一關系模式,分解成關系模式ρ={r1,r2...,rk},f是r上的一個函數(shù)依賴集。如果對r中滿足f的每一個關系r都有r=πr1(r)πr2(r)...πrk(r)則稱這個分解相對于f是“無損聯(lián)接分解”。
    (16)保持依賴集:所謂保持依賴就是指關系模式的函數(shù)依賴集在分解后仍在數(shù)據(jù)庫中保持不變,即關系模式r到ρ={r1,r2,...,rk}的分解,使函數(shù)依賴集f被f這些ri上的投影蘊涵。
    (17)多值依賴:設r(u)是屬性集u上的一個關系模式,x,y,z是u的子集,并且z=u-x-y, 用x,y,z分別代表屬性集x,y,z的值,只要r是r的關系,r中存在元組(x,y1,z1)和(x,y2,z2)時,就也存在元組(x,y1,z2)和(x,y2,z1),那么稱多值依賴(multivalued dependency mvd)x→→y在關系模式r中成立。
    4.2 關系模式r有n個屬性,在模式r上可能成立的函數(shù)依賴有多少個? 其中平凡的函數(shù)依賴有多少個?非平凡的函數(shù)依賴有多少個?
    (要考慮所有可能的情況,數(shù)學排列組合問題。對于數(shù)據(jù)庫本身而言,本題沒多大意義)
    所有屬性相互依賴時,函數(shù)依賴最多。
    ·
    平凡的函數(shù)依賴:對于函數(shù)依賴x→y,如果yx,那么稱x→y是一個“平凡的函數(shù)依賴”。
    4.3 建立關于系、學生、班級、社團等信息的一個關系數(shù)據(jù)庫,一個系有若干個專業(yè),每個專業(yè)每年只招一個班,每個班有若干個學生,一個系的學生住在同一宿舍區(qū),每個學生可以參加若干個社團,每個社團有若干學生。
    描述學生的屬性有:學號、姓名、出生年月、系名、班級號、宿舍區(qū)。
    描述班級的屬性有:班級號、專業(yè)名、系名、人數(shù)、入校年份。
    描述系的屬性有:系名、系號、系辦公地點、人數(shù)。
    描述社團的屬性有:社團名、成立年份、地點、人數(shù)、學生參加某社團的年份。
    請給出關系模式,寫出每個關系模式的最小函數(shù)依賴集,指出是否存在傳遞函數(shù)依賴,對于函數(shù)依賴左部是多屬性的情況,討論函數(shù)依賴是完全函數(shù)依賴還是部分函數(shù)依賴。指出各關系的候選鍵、外部鍵,有沒有全鍵存在?
    各關系模式如下:
    學生(學號,姓名,出生年月,系名,班級號,宿舍區(qū))
    班級(班級號,專業(yè)名,系名,人數(shù),入校年份)
    系(系名,系號,系辦公地點,人數(shù))
    社團(社團名,成立年份,地點,人數(shù))
    加入社團(社團名,學號,學生參加社團的年份)
    學生(學號,姓名,出生年月,系名,班級號,宿舍區(qū))
    ●“學生”關系的最小函數(shù)依賴集為:
    fmin={學號→姓名,學號→班級號,學號→出生年月,學號→系名,系名→宿舍區(qū)} ●以上關系模式中存在傳遞函數(shù)依賴,如:學號→系名,系名→宿舍區(qū)
    ●候選鍵是學號,外部鍵是班級號,系名。
    notice: 在關系模式中,如果y→x,x→a,且xy(x不決定y),a不屬于x,那么稱y→a是傳遞依賴。
    班級(班級號,專業(yè)名,系名,人數(shù),入校年份)
    ●“班級”關系的最小函數(shù)依賴集為:
    fmin={(系名,專業(yè)名)→班級號,班級號→人數(shù),班級號→入校年份,班級號→系名,班級號→專業(yè)名}
    (假設沒有相同的系,不同系中專業(yè)名可以相同)●以上關系模式中不存在傳遞函數(shù)依賴。
    ●“(系名,專業(yè)名)→班級號”是完全函數(shù)依賴。
    ●候選鍵是(系名,專業(yè)名),班級號,外部鍵是系名。
    系(系名,系號,系辦公地點,人數(shù))
    ●“系”關系的最小函數(shù)依賴集為: fmin={系號→系名,系名→系辦公地點,系名→人數(shù),系名→系號}
    ●以上關系模式中不存在傳遞函數(shù)依賴
    ●候選鍵是系名,系號
    社團(社團名,成立年份,地點,人數(shù))
    ●“社團”關系的最小函數(shù)依賴集為: fmin={社團名→成立年份,社團名→地點,社團名→人數(shù))
    ●以上關系模式中不存在傳遞函數(shù)依賴。
    ●候選鍵是社團名
    加入社團(社團名,學號,學生參加社團的年份)
    ●“加入社團”關系的最小函數(shù)依賴集為: fmin={(社團名,學號)→學生參加社團的年份)●“(社團名,學號)→學生參加社團的年份”是完全函數(shù)依賴。
    ●以上關系模式中不存在傳遞函數(shù)依賴。
    ●候選鍵是(社團名,學號)。
    4.4 對函數(shù)依賴x→y的定義加以擴充,x和y可以為空屬性集,用φ表示,那么x→φ,φ→y,φ→φ的含義是什么?
    根據(jù)函數(shù)依賴的定義,以上三個表達式的含義為:
    (1)一個關系模式r(u)中,x,y是u的子集,r是r的任一具體關系,如果對r的任意兩個元組t1,t2, 由t1[x]=t2[x]必有t1[φ]=t2[φ]。即x→φ表示空屬性函數(shù)依賴于x。這是任何關系中都存在的。
    (2)φ→y表示y函數(shù)依賴于空屬性。由此可
    知該關系中所有元組中y屬性的值均相同。
    (3)φ→φ表示空屬性函數(shù)依賴于空屬性。這也是任何關系中都存在的。
    4.5 已知關系模式r(abc),f={a→c,b→c},求f+。
    可以直接通過自反律、增廣律、傳遞律加以推廣:
    f+={φ→φ,a→φ,b→φ,c→φ,a→c,b→c,ab→φ,ab→a,ab→b,ab→c,ab→bc,ab→ab,ab→abc,bc→φ,bc→c,bc→b,bc→bc,ac→φ,ac→c,ac→a,ac→ac,abc→φ,abc→a,abc→b,abc→c,abc→bc,abc→ab,abc→abc}
    4.6 試分析下列分解是否具有無損聯(lián)接和保持函數(shù)依賴的特點:
    (1)設r(abc),f1={a→b} 在r上成立,ρ1={ab,ac}。
    首先,檢查是否具有無損聯(lián)接特點:
    第1種解法--算法4.2:
    (1)構造表
    (2)根據(jù)a→b進行處理
    結果第二行全是a行,因此分解是無損聯(lián)接分解。
    第2種解法:(定理4.8)設 r1=ab,r2=ac
    r1∩r2=a
    r2-r1=b
    ∵a→b,∴該分解是無損聯(lián)接分解。
    然后,檢查分解是否保持函數(shù)依賴
    πr1(f1)={a→b,以及按自反率推出的一些函數(shù)依賴}
    πr2(f1)={按自反率推出的一些函數(shù)依賴}
    f1被πr1(f1)所蘊涵,∴所以該分解保持函數(shù)依賴。
    (2)設r(abc),f2={a→c,b→c}在r上成立,ρ2={ab,ac}
    首先,檢查是否具有無損聯(lián)接特點:
    第1種解法(略)
    第2種解法:(定理4.8)設 r1=ab,r2=ac
    r1∩r2=a
    r2-r1=c
    ∵a→c,∴該分解是無損聯(lián)接分解。
    然后,檢查分解是否保持函數(shù)依賴
    πr1(f2)={按自反率推出的一些函數(shù)依賴}
    πr2(f2)={a→c,以及按自反率推出的一些函數(shù)依賴} ∵f1中的b→c沒有被蘊涵,所以該分解沒有保持函數(shù)依賴。
    (3)設r(abc),f3={a→b},在r上成立,ρ3={ab,bc}.首先,檢查是否具有無損聯(lián)接特點:
    第1種解法:
    (1)構造表
    (2)根據(jù)a→b進行處理
    沒有一行全是a行。因此這個分解不具有無損聯(lián)接特性。
    第2種解法:(定理4.8)
    設 r1=ab,r2=bc
    r1∩r2=b
    r2-r1=c,r1-r2=a
    ∵b→c,b→a不在f3中 ∴該分解不具有無損聯(lián)接特性。
    然后,檢查分解是否保持函數(shù)依賴
    πr1(f3)={a→b,以及按自反率推出的一些函數(shù)依賴}
    πr2(f3)={按自反率推出的一些函數(shù)依賴}
    f1被πr1(f3)所蘊涵,所以該分解保持函數(shù)依賴。
    (4)設r(abc),f4={a→b,b→c}在r上成立,ρ4={ac,bc}
    首先,檢查是否具有無損聯(lián)接特點:
    第1種解法(略)
    第2種解法:(定理4.8)
    設 r1=ac,r2=bc
    r1(ac)∩r2(bc)=c
    r2-r1=b,r1-r2=a
    ∵c→b,c→a不在f4中 ∴該分解不具有無損聯(lián)接特性。
    然后,檢查分解是否保持函數(shù)依賴
    πr1(f2)={按自反率推出的一些函數(shù)依賴}
    πr2(f2)={b→c,以及按自反率推出的一些函數(shù)依賴}
    ∵f1中的a→b沒有被蘊涵,所以該分解沒有保持函數(shù)依賴。
    4.7 設r=abcd,r上的函數(shù)依賴集f={a→b,b→c,a→d,d→c},r的一個分解ρ={ab,ac,ad},求:(1)f在ρ的每個模式上的投影。(2)ρ相對于f是無損聯(lián)接分解嗎?(3)ρ保持依賴嗎?(1)
    πab(f)={a→b,及按自反律所推導出的一些平凡函數(shù)依賴} πac(f)={a→c,及按自反律所推導出的一些平凡函數(shù)依賴} πad(f)={a→d,及按自反律所推導出的一些平凡函數(shù)依賴}(2)
    (1)構造表
    (2)根據(jù)a→b,b→c,a→d,d→c進行處理
    每一行都是a,ρ相對于f是無損聯(lián)接分解。
    (3)πab(f)∪πac(f)∪πad(f)={a→b,a→c,a→d}, 沒有滿足b→c,d→c函數(shù)依賴,因此ρ相對于f的這個分解不保持函數(shù)依賴。
    4.8 設r=abcd,r上的f={a→c,d→c,bd→a}, 試證明ρ={ab,acd,bcd}相對于f不是無損聯(lián)接分解。
    根據(jù)算法4.2
    (1)構造表
    (2)根據(jù)a→c,d→c,bd→a進行處理
    沒有一行都是a,所以,ρ相對于f不是無損聯(lián)接分解。
    4.9 設r=abcd,r上的f={a→b,b→c,d→b},把r分解成bcnf模式集。
    (1)若首先把r分解成{acd,bd},試求f在這兩個模式上的投影。
    (2)acd和bd是bcnf嗎?如果不是,請進一步分解。
    (1)πacd(f)={a→c}
    πbd(f)={d→b}
    (2)因為根據(jù)bcnf的定義,要求關系模式是第一范式,且每個屬性都不傳遞依賴于r的侯選鍵。bcd中(a,d)為候選鍵,可是(a,d)→a, a→c,所以它不是bcnf模式。
    它可進一步分解為:{ac,dc},此時ac,dc均為bcnf模式。
    bd是bcnf,因為r2(bd)是第一范式,且每個屬性都不傳遞依賴于d(候選鍵),所以它是bcnf模式。
    4.10 設r=abcd,ρ={ab,bc,cd}。f1={a→b,b→c};f2={b→c,c→d};
    (1)如果f1是r上的函數(shù)依賴集,此時ρ是無損聯(lián)接分解嗎?若不是,試舉出反例。
    (2)如果f2是r上的函數(shù)依賴集呢?
    (1)不是無損聯(lián)接??捎伤惴?.2判斷或由定理4.8判斷。
    根據(jù)算法4.2
    (1)構造表
    (2)根據(jù)a→b,b→c進行處理
    結果沒有出現(xiàn)一行全a的情況,所以它不是無損聯(lián)接。舉例如下:
    設模式r的一關系r為{(a1b1c1d1),(a2b2c1d2)} 則有:r1=πab(r)={(a1b1),(a2b2)}
    r2=πbc(r)={(b1c1),(b2c1)}
    r3=πcd(r)={(c1d1),(c1d2)} 令a=r1r2r3={(a1b1c1d1),(a1b1c1d2),(a2b2c1d1),(a2b2c1d2)} r≠a,所以ρ不是無損聯(lián)接。
    (2)如果f2是r上的函數(shù)依賴,則可以判斷,ρ是無損聯(lián)接。判斷過程同上。
    4.11 設關系模式r(s#,c#,grade,tname,taddr),其屬性分別表示學生學號、選修課程的編號,成績、任課教師地址等意義。如果規(guī)定,每個學生每學一門課只有一個成績; 每門課只有一個教師任教;每個教師只有一個地址(此處不允許教師同名同姓)。
    (1)試寫出關系模式r基本的函數(shù)依賴和候選鍵。
    (2)試把r分解成2nf模式集并說明理由。
    (3)試把r分解成3nf模式集,并說明理由。
    (1)f={(s#,c#)→grade,c#→tname,tname→taddr} 侯選鍵是(s#,c#)。
    (2)在模式r中,tname不完全依賴于鍵(s#,c#),因此需進行分解,可分解為下列兩個關系。
    sc={s#,c#,grade} c={c#,tname,taddr} 分解后,sc中,grade完全依賴于侯選鍵(s#,c#),在c中,主屬性是c#,tname、taddr均完全依賴于c#。因此,該分解符合2nf模式。
    (3)3nf:若每個關系模式是2nf,則每個非主屬性都不傳遞于r的候選鍵。
    按上述已分好的兩個模式,sc中已滿足“每個非主屬性都不傳遞于r的候選鍵”,已是3nf,而在c中,c#→tname,tname→taddr,taddr傳遞依賴于c#,因此還需分成兩個模式:ct(c#,tname), t(tname,tadd)。
    分解后,總共有sc={s#,c#,grade},ct(c#,tname), t(tname,tadd)三個模式。
    該分解符合3nf模式。
    4.12 圖4.6表示一個公司各部門的層次結構,對每個部門,數(shù)據(jù)庫中包含部門號(唯一的)d#,預算費(budget)以及此部門領導人員的職工號(唯一的)e#等信息。對每一個部門,還存有部門的全部職工,生產科研項目以及辦公室的信息。
    職工信息包括:職工號,他所參加的生產科研項目號(j#),他所在辦公室的電話號(phone#)。
    生產科研項目包含:項目號(唯一的),預算費。
    辦公室信息包含:辦公室號(唯一的),面積。
    對每個職工,數(shù)據(jù)庫中有他曾擔任過的職務以及擔任某一職務時的工資歷史。對每個辦公室包含此辦公室中全部電話號嗎的信息。
    請給出你認為合理的數(shù)據(jù)依賴,把這個層次結構轉換成一組規(guī)范化的關系。
    提示:此題可分步完成,先轉換成一組1nf的關系,然后逐步轉換成2nf,3nf,...。
    先得到一個泛關系的模式如下:
    d={d#,manager_e#,budget,e#,j#,phone#,business,sa_history,office#,area} d#:部門號, manager_e#:部門領導人員的職工號, e#:職工號, j#:生產科研項目號, phone#:辦公室的電話號,business:職工職務,sa_history:工資歷史,office#:辦公室號,area:辦公室面積
    根據(jù)所給信息,給出下列數(shù)據(jù)依賴:
    f={d#→manager_e#,e#→office#,(e#,business)→sa_history,j#→budget,e#→j#,office#→area,office→d#,#phone#→office#}(假設一個部門可能有多個辦公室,有多個項目,一個辦公室只屬于一個部門,有多部電話,一個員工只參加一個項目,一個項目可能屬于多個部門)
    只要保證每個屬性值不可分割,以上范式即為1nf。候選鍵為(e#,business,phone#)
    轉換成2nf關系(消除局部依賴):
    em_dep(e#,d#,manager_e#,office#,area,j#,budget)
    對應 f={d#→manager_e#,e#→office#,j#→budget,e#→j#,office#→area,office→d#}
    history(e#,business,history)
    對應 f={(e#,business)→sa_history} phone(phone#,office#)
    對應 f={phone#→office#}
    轉換成3nf關系(消除非主屬性對侯選鍵的傳遞依賴):
    department(d#,manager_e#)office(office#,area,d#)emproee(e#,j#,office#)
    history(e#,business,history)phone(phone#,office#)project(j#,budget)
    注意:由于對題意理解的不同,可能答案不唯一。
    4.13 設關系模式r(abc)上有一個多值依賴a→→b。如果已知r的當前關系中存在三組(ab1c1)、(ab2c2)和(ab3c3),那么這個關系中至少還應存在哪些元組?
    從多值依賴的定義可以得出,至少應存在下列元組:
    (ab1c2)、(ab1c3)、(ab2c1)、(ab2c3)、(ab3c1)、(ab3c2)
    5.1 名詞解釋
    (1)數(shù)據(jù)庫設計:數(shù)據(jù)庫設計是指對于一個給定的應用環(huán)境,提供一個確定最優(yōu)數(shù)據(jù)模型與處理模式的邏輯設計,以及一個確定數(shù)據(jù)庫存儲結構與存取方法的物理設計,建立起既能反映現(xiàn)實世界信息和信息聯(lián)系,滿足用戶數(shù)據(jù)要求和加工要求,又能被某個數(shù)據(jù)庫管理系統(tǒng)所接受,同時能實現(xiàn)系統(tǒng)目標,并有效存取數(shù)據(jù)的數(shù)據(jù)庫。
    (2)數(shù)據(jù)庫工程:指數(shù)據(jù)庫應用系統(tǒng)的開發(fā),它是一項軟件工程,但有數(shù)據(jù)庫應用自身的特點。(3)評審:在數(shù)據(jù)庫設計過程中,評審的目的是為了確認某一階段的任務是否全部完成,避免重大的疏漏或錯誤,并在生存期的早期階段給予糾正,以減少系統(tǒng)研制的成本。
    (4)數(shù)據(jù)字典:是對系統(tǒng)中數(shù)據(jù)的詳盡描述,它提供對數(shù)據(jù)庫數(shù)據(jù)描述的集中管理。它的處理功能是存儲和檢索元數(shù)據(jù),并且為數(shù)據(jù)庫管理員提供有關的報告。對數(shù)據(jù)庫設計來說,數(shù)據(jù)字典是進行詳細的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要成果。數(shù)據(jù)字典主要包括四個部分:數(shù)據(jù)項、數(shù)據(jù)結構、數(shù)據(jù)流、數(shù)據(jù)存儲。
    5.2 數(shù)據(jù)系統(tǒng)的生存期分成哪幾個階段?數(shù)據(jù)庫結構的設計在生存期中的地位如何?
    分成七個階段 :規(guī)劃、需求分析、概念設計、邏輯設計、物理設計、實現(xiàn)、運行和維護。
    數(shù)據(jù)庫結構的設計在生存期中的地位很重要,數(shù)據(jù)庫結構的設計包括邏輯設計、物理設計,邏輯設計把概念模式轉化為與選用的具體機器上的dbms所支持的數(shù)據(jù)模型相符合的邏輯結構,而物理設計主要是設計db在物理設備上的存儲結構與存取方法等。
    5.3 什么是數(shù)據(jù)庫設計?數(shù)據(jù)庫設計過程的輸入和輸出有哪些內容?
    數(shù)據(jù)庫設計是指對于一個給定的應用環(huán)境,提供一個確定最優(yōu)數(shù)據(jù)模型與處理模式的邏輯設計,以及一個確定數(shù)據(jù)庫存儲結構與存取方法的物理設計,建立起既能反映現(xiàn)實世界信息和信息聯(lián)系,滿足用戶數(shù)據(jù)要求和加工要求,又能被某個數(shù)據(jù)庫管理系統(tǒng)所接受,同時能實現(xiàn)系統(tǒng)目標,并有效存取數(shù)據(jù)的數(shù)據(jù)庫。
    數(shù)據(jù)庫設計過程的輸入包括四部分內容:1)總體信息需求;2)處理需求;(3)dbms的特征;(4)硬件和os(操作系統(tǒng))特征。
    數(shù)據(jù)庫設計過程的輸出包括兩部分:
    (1)完整的數(shù)據(jù)庫結構,其中包括邏輯結構和物理結構;
    (2)基于數(shù)據(jù)庫結構和處理需求的應用程序的設計原則。這些輸出一般以說明書的形式出現(xiàn)。
    5.4 基于數(shù)據(jù)庫系統(tǒng)生存期的數(shù)據(jù)庫設計分成哪幾個階段?
    分為5個階段:簡記為(規(guī)需概邏物):規(guī)劃、需求分析、概念設計、邏輯設計和物理設計五個階段。
    5.5 什么是比較好的數(shù)據(jù)庫設計方法?數(shù)據(jù)庫設計方法應包括哪些內容? 一個好的數(shù)據(jù)庫設計方法應該能在合理的期限內,以合理的工作量產生一個有實用價值的數(shù)據(jù)庫結構。
    一種實用的數(shù)據(jù)庫設計方法應包括以下內容:設計過程、設計技術、評價準則、信息需求、描述機制。
    5.6 數(shù)據(jù)庫設計的規(guī)劃階段應做哪些事情?
    數(shù)據(jù)庫設計中的規(guī)劃階段的主要任務是進行建立數(shù)據(jù)庫的必要性及可行性分析,確定數(shù)據(jù)庫系統(tǒng)在組織中和信息系統(tǒng)中的地位,以及各個數(shù)據(jù)庫之間的聯(lián)系。
    5.7 數(shù)據(jù)庫設計的需求分析階段是如何實現(xiàn)的?目標是什么?
    數(shù)據(jù)庫設計的需求分析通過三步來完成:即需求信息的收集、分析整理和評審。
    其目的在于對系統(tǒng)的應用情況作全面詳細的調查,確定企業(yè)組織的目標,收集支持系統(tǒng)總的設計目標的基礎數(shù)據(jù)和對這些數(shù)據(jù)的要求,確定用戶的需求,并把這些要求寫成用戶和數(shù)據(jù)設計者都能夠接受的文檔。
    5.8 評審在數(shù)據(jù)庫設計中有什么重要作用?為什么允許設計過程中有多次的回溯與反復?
    評審的作用在于確認某一階段的任務是否全部完成,通過評審可以及早發(fā)現(xiàn)系統(tǒng)設計中的錯誤,并在生存期的早期階段給予糾正,以減少系統(tǒng)研制的成本。
    如果在數(shù)據(jù)庫已經實現(xiàn)時再發(fā)現(xiàn)設計中的錯誤,那么代價比較大。因此應該允許設計過程的回溯與反復。設計過程需要根據(jù)評審意見修改所提交的階段設計成果,有時修改甚至要回溯到前面的某一階段,進行部分乃至全部重新設計。
    5.9 數(shù)據(jù)字典的內容和作用是什么?
    數(shù)據(jù)字典的內容一般包括:數(shù)據(jù)項、數(shù)據(jù)結構、數(shù)據(jù)流、數(shù)據(jù)存儲和加工過程。
    其作用是對系統(tǒng)中數(shù)據(jù)做出詳盡的描述,提供對數(shù)據(jù)庫數(shù)據(jù)的集中管理。
    5.10 對概念模型有些什么要求? 對概念模型一般有以下要求:
    (1)概念模型是對現(xiàn)實世界的抽象和概括,它應真實、充分地反映現(xiàn)實世界中事物和事物之間的聯(lián)系,具有豐富的語義表達能力,能表達用戶的各種需求,包括描述現(xiàn)實世界中各種對象及其復雜聯(lián)系、用戶對數(shù)據(jù)對象的處理要求和手段。
    (2)概念模型應簡潔、明晰,獨立于機器、容易理解、方便數(shù)據(jù)庫設計人員與應用人員交換意見,使用戶能積極參與數(shù)據(jù)庫的設計工作。
    (3)概念模型應易于變動。當應用環(huán)境和應用要求改變時,容易對概念模型修改和補充。
    (4)概念模型應很容易向關系、層次或網狀等各種數(shù)據(jù)模型轉換,易于從概念模式導出也dbms有關的邏輯模式。
    5.11 概念設計的具體步驟是什么? 概念設計的主要步驟為:
    (1)進行數(shù)據(jù)抽象、設計局部概念模式;
    (2)將局部概念模式綜合成全局概念模式;
    (3)評審。
    (具體解釋參見教材p131)
    5.12 什么是數(shù)據(jù)抽象?主要有哪兩種形式的抽象?數(shù)據(jù)抽象在數(shù)據(jù)庫設計過程中起什么作用?
    數(shù)據(jù)抽象是對人、物、事或概念的人為處理,它抽取人們關心的共同特性,忽略非本質的細節(jié),并把這些特性用各種概念精確地加以描述,這些概念組成了某種模型。
    數(shù)據(jù)抽象有兩種形式:
    (1)系統(tǒng)狀態(tài)的抽象,即抽象對象;
    (2)系統(tǒng)轉換的抽象,即抽象運算。
    數(shù)據(jù)抽象是概念設計中非常重要的一步。通過數(shù)據(jù)抽象,可以將現(xiàn)實世界中的客觀對象首先抽象為不依賴任何具體機器的信息結構。
    5.13 什么是er圖?構成er圖的基本要素是什么? er圖是用來表示數(shù)據(jù)庫概念設計er模型的工具,它提供了表示實體、屬性和聯(lián)系的方法。
    構成er圖的基本對數(shù)據(jù)庫的總結 數(shù)據(jù)庫應用實訓總結篇五
    1.請寫出sql server 2000中的六種約束。
    主鍵約束,唯一鍵約束,檢查約束,默認值約束,外鍵約束,級聯(lián)參照完整性約束
    2.在關系模型中,有哪三類完整性約束?
    實體完整性:體現(xiàn)在實體的唯一性上,在一個關系r中,設屬性a是它的主
    關鍵字的組成部分,則屬性a不能取空值;
    參照完整性:本關系的某一個非主屬性值,必須等于另一個關系的關鍵
    字的值;
    用戶定義的完整性:針對某一具體數(shù)據(jù)庫的約束條件,由應用環(huán)境決定,它反映某一具體應用所涉及的數(shù)據(jù)必須滿足的語義要求。
    3.數(shù)據(jù)模型由哪三部分組成?
    數(shù)據(jù)結構,數(shù)據(jù)操作,完整性約束
    1.創(chuàng)建一個名為“產品”的數(shù)據(jù)庫,其包含一個主文件和一個事務日志文件。主文件的邏輯名為“產品銷售_data”,物理文件名為“c:”,初始容量為10mb,最大容量是20mb,每次的增量是10%。事務日志文件的邏輯名為“產品銷售_log”,物理文件名為“c:”,初始容量是2mb,最大容量不受限制,每次的增量是2mb。
    create database產品
    on
    primary
    (name=產品銷售_data,filename='c:',size=10mb,maxsize=20mb,filegrowth=10%)
    log on
    (name=產品銷售_log,filename='c: ',size=2mb,maxsize=unlimited,filegrowth=2mb)
    2、打開“產品”的數(shù)據(jù)庫。
    use產品
    3、將“產品”的數(shù)據(jù)庫改名為“產品銷售”的數(shù)據(jù)庫
    exec sp_renamedb產品, 產品銷售
    4、刪除“產品銷售”的數(shù)據(jù)庫
    drop database產品銷售5、2)、產品編號、銷售商編號都是外鍵,其中產品編號參照表“產品信息”的產品編號屬性,銷售商編號參照表“銷售商信息”的銷售商編號屬性。
    create table 銷售
    (產品編號 char(6)references 產品信息(產品編號),銷售商編號 char(6)references銷售商信息(銷售商編號),銷售時間datetimenot null,數(shù)量int not null,primary key(產品編號,銷售商編號)
    6、已知有學生信息表:student;課程表:course;成績表:sc
    1)、向sc表中添加一條記錄(’ 9309119’,‘ee-201’,90.5);
    insertsc
    values('9309119','ee-201',90.5)
    2)、刪除sc表中學號為9309120的記錄;
    delete sc
    where sno='9309120'
    3)、把所有課程的學分都改為4分;
    update course
    set credit =
    44)、把學號為9104421的學生的身高改為1.83;
    update student
    set high=1.8
    3where sno='9104421'
    5)、查詢course表中每門課程的課程名稱、學分;
    selectcname,creditfromcourse
    order bycreditdesc
    6)、查詢所有男同學的學號和姓名;
    select sno,sname
    from student
    where sex='男'
    7)、查詢成績在90分以上的學生的學號、課程號、成績。
    select sno,cno,grade
    from sc
    where grade>90
    8)、查詢至少有一門課的成績在80分以上的男同學的學號;
    select sno
    from student a
    where exists(select *
    from scb
    where = and grade>80)
    9)、求各門課程的最高分、最低分、平均分;
    select sno,max(grade),min(grade), avg(grade)
    from sc
    group by sno
    10)、查詢歐陽美齡選修的課程名稱和成績,結果按成績降序排列;
    selectcname,grade
    from student a,course b,sc c
    where sname='歐陽美齡' and = and =
    11)、查詢身高大于李惟德身高的學生的姓名。
    selectsname
    from student
    wherehigh>(select high
    from student
    where sname='李惟德'
    12)、求選修了全部課程的學生學號、姓名
    select sno
    from student
    where(select distinct cno
    from sc b
    where =)
    =(select count(*)fromcourse)
    1.實體間的聯(lián)系可分為三類1:1(或一對一),1:n(或一對多),m:n(或多對多)
    2.e-r模型的組成要素包括: 實體,屬性,聯(lián)系。
    3.唯一標識實體的屬性或屬性組稱為: 主鍵
    4.關系模型要求關系必須規(guī)范化也就是要求關系必須滿足一定的條件,這些規(guī)范條件中最基本的一條就是,關系的每一個分量必須是: 不可再分的數(shù)據(jù)項。
    5.四種專門的關系操作是:選擇、投影、連接、除。