1. 程式人生 > >MySQL資料庫命名及設計規範

MySQL資料庫命名及設計規範

標準化和規範化
資料的標準化有助於消除資料庫中的資料冗餘。標準化有好幾種形式,但Third Normal Form(3NF)通常被認為在效能、擴充套件性和資料完整性方面達到了最好平衡。簡單來說,遵守3NF 標準的資料庫的表設計原則是:“One Fact in One Place”即某個表只包括其本身基本的屬性,當不是它們本身所具有的屬性時需進行分解。表之間的關係通過外來鍵相連線。它具有以下特點:有一組表專門存放通過鍵連線起來的關聯資料。
舉例:某個存放客戶及其有關定單的3NF 資料庫就可能有兩個表:Customer和Order。Order表不包含定單關聯客戶的任何資訊,但表內會存放一個鍵值,該鍵指向Customer表裡包含該客戶資訊的那一行。
事實上,為了效率的緣故,對錶不進行標準化有時也是必要的。
2) 資料驅動
採用資料驅動而非硬編碼的方式,許多策略變更和維護都會方便得多,大大增強系統的靈活性和擴充套件性。
舉例,假如使用者介面要訪問外部資料來源(檔案、XML 文件、其他資料庫等),不妨把相應的連線和路徑資訊儲存在使用者介面支援表裡。還有,如果使用者介面執行工作流之類的任務(傳送郵件、列印信箋、修改記錄狀態等),那麼產生工作流的資料也可以存放在資料庫裡。角色許可權管理也可以通過資料驅動來完成。事實上,如果過程是資料驅動的,你就可以把相當大的責任推給使用者,由使用者來維護自己的工作流過程。
3) 考慮各種變化
在設計資料庫的時候考慮到哪些資料欄位將來可能會發生變更。
舉例,姓氏就是如此(注意是西方人的姓氏,比如女性結婚後從夫姓等)。所以,在建立系統儲存客戶資訊時,在單獨的一個數據表裡儲存姓氏欄位,而且還附加起始日和終止日等欄位,這樣就可以跟蹤這一資料條目的變化。

相關推薦

MySQL資料庫命名設計規範

標準化和規範化資料的標準化有助於消除資料庫中的資料冗餘。標準化有好幾種形式,但Third Normal Form(3NF)通常被認為在效能、擴充套件性和資料完整性方面達到了最好平衡。簡單來說,遵守3NF 標準的資料庫的表設計原則是:“One Fact in One Place”即某個表只包括其本身基本的屬性,

MYSQL數據庫設計規範

第二範式 移動文件 小寫 dex 要求 計算 技術分享 轉化 分享 1、數據庫命名規範 采用26個英文字母(區分大小寫)和0-9的自然數(經常不需要)加上下劃線‘_‘組成; 命名簡潔明確(長度不能超過30個字符);

mysql資料庫使用者使用者許可權管理

1、mysql資料庫的許可權 (1)mysql資料庫使用者許可權級別          1)全域性性管理許可權:作用於整個mysql例項級別      &nb

Oracle資料庫開發和設計規範

1 命名原則 1.1約定 是指對資料庫、資料庫物件如表、欄位、索引、序列、儲存過程等的命名約定; 命名使用富有意義的英文詞彙,儘量避免使用縮寫,多個單片語成的,中間以下劃線分割 避免使用Oracle的保留字如LEVEL、關鍵字如TYPE(見Oracle保留字和關鍵

MySQL資料庫索引優化

索引 什麼是索引 索引是用來提高資料庫效能的常用工具,索引就像資料的目錄一樣,通過索引可以快速找到需要的內容。 索引的原理,加快查詢 索引是建立了針對資料內容的排序結果的指標,根據指標快速定位所要的資料。 索引的設計原則 1  索引列一般為where子句中的列或連線列子句中的列。 2&

小白學python-----------------MySQL資料庫描述修改,破解密碼

一.什麼是資料庫 資料庫本質就是一個C/S的套接字軟體 常見的資料庫 關係型:(以表的形式) MySQL mariadb oracle db2 sqlserver 非關係:存取資料都是以key:value mongodb redis memcache

mysql資料庫架構效能分析

一般架構為主從資料庫伺服器搭配,例如一臺Master(主伺服器)對應著十幾臺或者上百臺Slave(從伺服器),如果沒有高可用的主從複製元件的話,當主伺服器遇到意外情況崩潰時,很難自動進行故障切換,必須由

利用log4j將記錄日誌儲存到Mysql資料庫方法問題

1.首先是要在資料庫中建一張表 CREATE TABLE `log` ( `log_id` int(11) NOT NULL AUTO_INCREMENT, `project_name` var

MySQL資料庫安裝基本配置

CentOS6和RHEL6系統的YUM中包含了MySQL安裝包,版本是MySQL5。rpm軟體包的名稱是mysql-server。 使用以下命令可以安裝MySQL資料庫: yum install -y mysql-server 安裝完成後我們可以通過以下命令啟動M

linux定時備份mysql資料庫解決crontab執行時生成資料庫檔案為空的問題

一、用命令實現備份 進入mysql的bin目錄(mysql安裝目錄的下一級目錄) 1、備份資料 #mysqldump -uusername -ppassword discuz >discuz_2010-04-01.sql -uusernae:-u+mysql的使用者名

修改mysql資料庫密碼服務中的執行檔案路徑

之前安裝過一次xampp,啟動mysql資料庫都是xampp下的資料,因近期要做資料庫的同步,需要本地資料庫,故進行修改 D:\xampp\mysql\bin\mysqld --defaults-file=D:\xampp\mysql\bin\my.ini

Windows下 Python Mysql資料庫安裝簡單使用

一、軟體安裝安裝環境:Windows 10 Mysql 版本為 5.7.21Mysql 裝好後安裝pymysql:可以用conda 命令安裝 conda installl pymysql   也可用pip 命令來裝:pip installl pymysql 安裝好後可用 pi

mysql資料庫優化--(2)設計 欄位型別的選擇

建表時,往往需要考慮欄位的型別的問題. 可優化性不強,需要注意以下的幾個原則 2.1       儘可能佔用更少的儲存空間 多少位元組Byte! tinyint:1, smallint 2, med

MySQL資料庫表結構設計優化技巧總結 讓你的表結構更加合理

很多人都將 資料庫設計正規化 作為資料庫表結構設計“聖經”,認為只要按照這個正規化需求設計,就能讓設計出來的表結構足夠優化,既能保證效能優異同時還能滿足擴充套件性要求。殊不知,在N年前被奉為“聖經”的資料庫設計3正規化早就已經不完全適用了。這裡我整理了一些比

linux之mysql資料庫搭建sql注入和防禦

mysql中文手冊下載地址:/data/2244392 sql注入各種姿勢:/10319657/1828167 sqlmap注入神器詳解:/10319657/1841241 資料庫分為三種基本形式 : (其實這些都是眾所周知的,只是為了知識的完整性,簡單的帶過

教你一些MySQL資料庫入侵防禦方法(有書送)

在針對網站滲透中,很多都是跟 MySQL 資料庫有關,各種 MySQL 注入、MySQL 提權、MySQL 資料庫 Root 賬號 webshell 獲取等,但沒有一個對 MySQL 資料庫滲透較為全面的總結。針對這種情況我們開展了研究,但技術的進步永無止境,思想有多遠,路就

資料庫表的設計規範

  資料庫設計三大正規化 為什麼要談及正規化?       這也是為了資料庫設計做準備,對於表設計而言,我們需求何種程度的設計,這完全取決你資料的規模,好比你建房子,要是建個一兩層,基本上不需要什麼設

JSP中的資料庫操作(1):MySQL資料庫建立管理

本文目錄順序: 安裝MySQL MySQL管理軟體SQLYog Enterprise --30天試用期到期解決方法 使用SQLYog Enterprise建立資料庫 MySQL的各項引數 1. 安裝MySQL 在www.mysql.com下載並且安裝。安裝的時候配置使用者

zip檔案安裝mysql資料庫伺服器mysql初始密碼修改

本地使用MySql需要客戶端和服務端同時具備,今天去官網下載了一個mysql-5.6.23-winx64.zip的服務端安裝,中間遇見了很多問題,這裡給大家分享一下安裝的正確方法。 1.下載官方版mysql-5.6.23-winx64.zip,並解壓到你的安裝目錄,這裡我

java中Mysql資料庫連線例項

目標:通過在eclipse中載入mysql驅動,將users表中的資料提取出來。 1.建立資料庫 在mysql資料庫中test目錄下建立users資料庫。存取欄位:id username password。 2.構建java專案 2.1 在構建的