初探mysql数据库模式(一)
數據庫模式是什么? ? ??
數據庫模式是描述整個數據庫的數據結構和數據庫底層架構的事務。它分為邏輯模式(俗稱:“模式”),外模式(俗稱:“子模式”or“用戶模式”),內模式(俗稱:“存儲模式”)。邏輯模式是描述數據庫中全體數據的邏輯結構和特征、外模式是描述數據庫用戶能夠看見和使用的局部數據的邏輯結構和特征、內模式描述了數據的物理結構和存儲方式,是數據在數據庫內部的表示方式。
數據庫關系模式是什么? ? ?
?它所指待的是對每個表或者是字段之間存在關系的描述。譬如一個數據表class里面有三個字段,姓名name,年齡age,性別gender(PS:Sex帶有不文雅的意思所以不建議使用)。那么我們可以得出如下的關系模式:class_schema=(name,age,gender);這只是一個簡單的關系,如果是多個表聯系,那么關系模式是有很多個的。關系模式形式化表示為:R(U,D,dom,F):R是關系模式的名字,U指屬性名集合,D指屬性集合U的域(范圍),dom指屬性向域的映象集合,F指屬性間數據依賴關系集合;通常可以簡寫為R(U)或R(A1,A2,…,An);
碼,碼,碼?
碼相當與身份識別器,而碼又分為很多種:超碼,主碼,外碼,候選碼。超碼是一個或者是多個屬性的集合,而這個組成的超碼集合可以唯一的標識出某條數據(元組)。譬如本人的身份證號碼可以是一個超碼,可以確認你的信息。而你的身份證加姓名也可以組成一個超碼;同樣可以確認你的信息。但是你的名字是不能做為超碼的,有很多同名的。例如我的名字廖君,而還有一個女歌手也叫廖君;
候選碼:上面那個例子中,假如就兩個人。假如不考慮身份證,那么我們要區分還可以用性別(我是男的).那么這個性別就在這里可以當作候選碼。(這只是一個比如)
外碼:外碼就是另外一個關系模式的主碼。譬如我們學校有兩個叫廖君(還真有一個老師,一個就是我)。但是我們需要區分開來誰是老師,誰是學生。那么我就需要一個表來記錄,數字1是老師,0是學生。現在在我的數據里面添加一條身份代碼:0,那么這個身份代碼就是一個外碼。
主碼很簡單,相當與你本人的身份證號碼。(正常身份證)不需要其他額外的標識符就可以確認你的信息;
轉載于:https://my.oschina.net/websec/blog/159899
總結
以上是生活随笔為你收集整理的初探mysql数据库模式(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html+css的响应式个人简历
- 下一篇: 零基础自学SQL课程 | SQL中的日期