資料庫設計基礎知識

2022-06-19 11:57:14 字數 2014 閱讀 3351

流程:1.使用者需求分析2.概念結構設計

3.邏輯結構設計(規範化)

4.資料庫的物理結構設計

e-r 模型 -> 關係資料模型步驟①為每個實體建立-張表②為每個表選擇一乙個主鍵(建議新增一-個沒有實際意義的字段作為主鍵)

③使用外來鍵表示實體間關係

④定義約束條件

⑤評價關係的質量,並進行必要的改進(關於正規化等知識請參考其他資料庫書籍)

⑥為每個字段選擇合適的資料型別、屬性和索引等

關係:

一對一

將 一 方的主鍵放入到 另一方 中

一對多將 一 方的主鍵 放到 多方 中

多對多兩邊都將主鍵拿出,放入到乙個新的表中

最少滿足第三正規化

定義屬性 型別 索引

注:

1.當超出範圍時,取型別的最大值

2.當無符號數時,給出負數,賦值為 0

字串型別

可儲存影象或聲音之類的二進位制資料

可儲存用 gzip 壓縮的資料

char 使用環境(推薦)

如果字段值長度固定或者相差不多(如性別)

資料庫要進行大量字元運算(如比較、排序等)

varchar

如果字段長度變化較大的(如文章標題)

blob儲存二進位制資料(相片、 電影、壓縮包)

enum('','') 列舉型別

字段屬性

unsigned 不允許字段出現負數,可以使最大允許長度增加zerofill 用零填充,數值之前自動用0補齊不足的位數,只用於設定數值型別auto_ increment 自動增量屬性,預設從整數1開始遞增,步長為1可以指定自增的初始值 auto_ increment=n

如果將 null 新增到乙個auto increment列,mysql將自動生成下乙個序列編號

default 指定乙個預設值

索引

確保資料的唯一性

優化查詢

對索引欄位中文字的搜尋進行優化

2020-05-07

資料庫基礎知識

資料定義 定義基本表 create table 表名 列名 資料型別 列級完整性約束條件 列名 資料型別 列級完整性約束條件 表級完整性約束條件 後面用到的表 1 學生 表 student 由學號 sno 姓名 sname 性別 s 年齡 sage 所在系 sdept 5個屬性組成,可記為 stud...

資料庫 基礎知識

e r模型 實體 聯絡模型 entity relationship model,e r模型 實體是指現實中區別於其他物件的一種 物體 或一件 事情 例如一名學生,乙個專案等等。同乙個型別中所有的實體被叫做實體集,對應於資料庫的一張表,乙個實體則對應於一條記錄。不同的任務之間,就是通過聯絡關係整合到一...

資料庫基礎知識

一 1 ddl 資料庫定義語句,建立資料表 dml 資料庫操作語言 dcl 資料控制語言 dql 資料查詢語言 2 資料查詢,sql語句 看課堂作業 查詢結果是表。3 聚集函式的一般格式 會使用 distinct all 列名 4 檢視 從乙個或幾個基本表 或檢視 匯出的表,與基本表不同,是乙個虛表...