什么是數(shù)數(shù)據(jù)庫
關(guān)系數(shù)據(jù)庫 一個關(guān)系數(shù)據(jù)庫是包含預(yù)先定義的相關(guān)的一組相關(guān)表格。就像下面圖示那樣,有張表專門用來員工信息,而員工所屬部門,又專門用一張表去存。每個表格(有時被稱為一個關(guān)系)包含用列表示的一個或更多的數(shù)據(jù)種類。 每行包含一個唯一的數(shù)據(jù)實體,這些數(shù)據(jù)是被列定義的種類。 目前市面上所有數(shù)據(jù)庫管理程序都屬于關(guān)系型數(shù)據(jù)庫,而我們學(xué)習(xí)的SQLSERVER也是屬于關(guān)系數(shù)據(jù)庫。 就像這個圖所示,表與表之間存在著聯(lián)系,假設(shè)我們在以后工作需要將員工與所在部門的信息查詢。只需要將這兩張表建立一個聯(lián)合查詢即可。如果不考慮表中關(guān)系,而是把我們的表合并成為一張,最簡單就像把部門信息里面的這些列的字段放到員工表中了。假設(shè)說本來部門叫A部門,現(xiàn)在改變了。那么都找出來所有A部門員工信息進行更改。同時也違反了咱們下面所學(xué)的知識。 數(shù)據(jù)庫范式 關(guān)系模型原理的核心是”規(guī)范化”概念,規(guī)范化是指把數(shù)據(jù)庫組織成在保持存儲數(shù)據(jù)完整性的同時最小化冗余數(shù)據(jù)的結(jié)構(gòu)過程;規(guī)范化的數(shù)據(jù)庫是符合關(guān)系模型規(guī)則的數(shù)據(jù)庫,通常把這些規(guī)則稱為范式; 第一范式(1NF)無重復(fù)的列 是指數(shù)據(jù)庫表的每一列都是不可分割的基本數(shù)據(jù)項,同一列中不能有多個值,即實體中的某個屬性不能有多個值或者不能有重復(fù)的屬性。在第一范式(1NF)中表的每一行只包含一個實例的信息。簡而言之,第一范式就是無重復(fù)的列。 第二范式(2NF) 第二范式(2NF)是在第一范式(1NF)的基礎(chǔ)上建立起來的,依賴于主鍵建立的表,主鍵必須有唯一性的元素,一個主鍵可以由一個或更多的組成唯一值的列組成,第二范式要求非主鍵列是主鍵的子集,非主鍵列活動必須完全依賴整個主鍵 第二范式示例:我們有這個表 學(xué)號、學(xué)生姓名、年齡、性別、課程、課程學(xué)分、系別、學(xué)科成績,系辦地址、系辦電話等信息; 如果我要滿足以下需求怎么呢?
那么會導(dǎo)致產(chǎn)生如下問題:
如何解決呢? 選課關(guān)系表SelectCourse改為如下三個表:
第三范式: 第三范式規(guī)則查找以消除沒有直接依賴于第一范式和第二范式形成的表的主鍵的屬性。我們?yōu)闆]有與表的主鍵關(guān)聯(lián)的所有信息建立了一張新表。每張新表保存了來自源表的信息和它們所依賴的主鍵 關(guān)系模型
數(shù)據(jù)庫存儲文件
如何創(chuàng)建數(shù)據(jù)庫方法,我們都是通過SQLSERVER去完成的 1、創(chuàng)建簡單的數(shù)據(jù)庫 語法: create database database_name 如:create database Mydatabase1; 2、指定數(shù)據(jù)文件的數(shù)據(jù)庫 Create database Mydatabase2 ON primary( --設(shè)置數(shù)據(jù)庫的邏輯名稱 Name=‘LogicNameOfDataFile2’, --設(shè)置數(shù)據(jù)庫文件名 Filename=‘d:\datafile2.mdf’ ) On關(guān)鍵字用來創(chuàng)建數(shù)據(jù)文件,使用primary表示創(chuàng)建的主數(shù)據(jù)文件。 3、完整的數(shù)據(jù)庫創(chuàng)建方法 指定數(shù)據(jù)文件,日志文件與相應(yīng)的邏輯文件名的數(shù)據(jù)庫 Create database Mydatabase2 ON primary( --設(shè)置數(shù)據(jù)庫的邏輯名稱 Name=‘LogicNameOfDataFile2’, --設(shè)置數(shù)據(jù)庫文件名 Filename=‘d:\datafile2.mdf’ ) LOG ON( --設(shè)置日志的的邏輯名稱 Name=‘LogicNameOfDataFile2’, Filename=‘d:\datafile2.ldf’ ) 4、指定大小的數(shù)據(jù)庫 這里大小包含數(shù)據(jù)文件設(shè)置的初始大小,最大存儲空間,自動增長幅度; Create database Mydatabase4 ON primary( Name=‘LogicNameOfDataFile4’, Filename=‘d:\datafile4.mdf’, Size=5mb, Maxsize=100mb, Filegrowth=15mb) LOG ON( Name=‘LogicNameOfDataFile4’, Filename=‘d:\datafile2.ldf’, Size=5mb, Maxsize=100mb, Filegrowth=10% )
|
|