導航:首頁 > 編程大全 > mysql資料庫表命名規范

mysql資料庫表命名規范

發布時間:2024-01-08 15:13:50

㈠ sql怎麼創建表

1.1 創建表方法
創建表是指在已存在的資料庫中建立新表。這是建立資料庫最重要的一步,是進行其他操作的基礎。

1.1.1 創建表的語法形式
CREATE TABLE 表名 (
屬性名 數據類型 [ 完整性約束條件 ],
屬性名 數據類型 [ 完整性約束條件 ],
......
屬性名 數據類型 [ 完整性約束條件 ],
)[ 表類型 ] [ 表字元集 ];
SQL 是不區分大小寫。下面將會具體介紹SQL,這種創建表是通過什麼方式起來的效果怎麼樣?

命名規范:

1. 命名富有意義 ( 英文或英文組合 )

2. 自定義名稱使用小寫

3. MySQL 語句使用大寫

CREATE TABLE IF NOT EXISTS data_house(
id INT,
name VARCHAR(20);
gender BOOLEAN,
) Engine = MyISAM;
上面 SQL 語句的含義是:如果不存在 text1 表,就創建它,包含 3 個欄位 id 、 name 和 gender ,它們的類型分別是整形、字元型和布爾型,創建的表的類型是 MyISAM 。

完整性約束條件表

PRIMARY KEY 標識該屬性為該表的主鍵,可以唯一的標識對應的元組
FOREIGN KEY 標識該屬性為該表的外鍵,是與之聯系的某表的主鍵
NOT NULL 標識該屬性不能為空
UNIQUE 標識該屬性的值是唯一的
AUTO_INCREMENT 標識該屬性的值自動增加,這是 MySQL 的 SQL 語句的特色 (null,0)
DEFAULT 標識該屬性設置默認值 (not null defualt 0,not null default 0.0,not null default '')
1.1.2 設置表的主鍵
主鍵是表的一個特殊欄位。該欄位能惟一地標識該表中的每條信息。主鍵和記錄的關系,如同身份證和人的關系。主鍵用來標識每個記錄,每個記錄的主鍵值都不同。身份證是用來標明人的身份,每個人都具有惟一的身份證號。設置表的主鍵指在創建表時設置表的某個欄位為該表的主鍵。

主鍵的主要目的是幫組 MySQL 以最快的速度查找到表中的某一條信息。

主鍵必須滿足的條件:

1. 主鍵必須是唯一的,表中任意兩條記錄的主鍵欄位的值不能相同;

2. 主鍵的值是非空值;

3. 主鍵可以是單一的欄位,也可以是多個欄位組合。

1. 單欄位的主鍵:

CREATE TABLE student1 (
stu_id INT PRIMARY KEY ,
stu_name VARCHAR(20) NOT NULL,
stu_gender BOOLEAN
) Engine = InnoDB;
2. 多欄位主鍵 :

CREATE TABLE student2 (
stu_id INT,
course_id INT,
grade FLOAT,
PRIMARY KEY( stu_id, course_id )
)Engine = InnoDB;
1.1.3 設置表的外鍵
外鍵是表的一個特殊欄位。如果欄位 sno 是一個表 A 的屬性,且依賴於表 B 的主鍵。那麼,稱表 B 為父表,表 A 為子表, sno 為表 A 的外鍵。通過 sno 欄位將父表 B 和子表 A 建立關聯關系。設置表的外鍵指在創建表設置某個欄位為外鍵。

設置外鍵的原則:必須依賴於資料庫中已存在的父表的主鍵;外鍵可以為空值。

外鍵的作用 : 是建立該表與其父表的關聯關系。父表中刪除某條信息時,子表中與之對應的信息也必須有相應的改變。例如, stu_id 就 student 表的主鍵, stu_id 是 grade 表的外鍵。當 stu_id 為 '123' 同學退學了,需要從 student 表中刪除該學生的信息。那麼, grade 表中 stu_id 為 '123' 的所有信息也應該同時刪除。

CONSTRAINT 外鍵別名 FOREIGN KEY ( 屬性 1.1, 屬性 1.2... 屬性 1.n);
REFERENCES 表名 ( 屬性 2.1, 屬性 2.2,..., 屬性 2.n)

CREATE TABLE student3 (
id INT PRIMARY KEY,
stu_id INT,
course_id INT,
# 設置外鍵
CONSTRAINT C_fk FOREIGN KEY (stu_id, course_id) REFERENCES student2(stu_id, course_id)
) Engine = InnoDB;
1.1.4 設置表的非空約束
非空性是指欄位的值不能為空值 (NULL) 。非空約束將保證所有記錄中該欄位都有值。如果用戶新插入的記錄中,該欄位為空值,則資料庫系統會報錯。例如,在 id 欄位加上非空約束, id 欄位的值就不能為空。如果插入記錄的 id 欄位的值為空,該記錄將不能插入。設置表的非空約束是指在創建表時為表的某些特殊欄位加上 NOT NULL 約束條件。設置非空約束的基本語法規則如下:

屬性名 數據類型 NOT NULL

㈡ 急需MySql資料庫設計規范

1. 數據表命名規范
模塊名縮寫_存儲信息[_存儲信息子類](多個單詞用下劃線分回隔),全部小寫,例如:答b2c_goods_type
2. 欄位命名規范
存儲信息屬性(多個單詞用下劃線分隔),全部小寫,命名規則只來自於業務,盡量表達出列的含義。
例如:goods_id
3. 欄位類型規范。
規則:用盡量少的存儲空間來存 數一個欄位的數據.
比如能用int的就不用char或者varchar
能用tinyint的就不用int
能用 varchar(20)的就不用varchar(255)
時間戳欄位盡量用int型,如 created:表示從 '1970-01-01?08:00:00'開始的int秒數,採用英文單詞的過去式;gmtCreated:表示datetime類型的時間,即形如 '1980-01-01?00:00:00'的時間串,java中對應的類型為Timestamp
日期:用date
時間:用time
數字格式的用:int、tinyint、mediumint、smallint、bigint根據實際情況選擇
字元串:用char、varcahr;
文本:用text
金額:用float

㈢ 資料庫的需求分析方法

資料庫設計需求
1. 需求概述
建立完善的資料庫結構管理設備的基本參數、運行狀態和各種工作計劃。

資料庫的框架和結構必須根據設備和運行狀態而設計,方便提供強大的錄入、查詢、統計、分析和報表等各種功能操作,較好的反映平台業務的基本情況和運行狀況,滿足平台的基本要求。

2. 外部設計需求
2.1 標識符和狀態

資料庫表前綴:根據模塊名定義(如用戶模塊:sys_)

用戶名:root

密碼:待定

許可權:全部

有效時間:開發階段

說明:系統正式發布後,可能更改資料庫用戶/密碼。

2.2 使用它的程序

本系統主要利用java作為後端的應用開發工具,使用MySQL作為後台的資料庫, Linux或Windows均可作為系統平台。

2.3 約定

所有命名一定要具有描述性,杜絕一切拼音、或拼音英文混雜的命名方式。
字元集採用 UTF-8,請注意字元的轉換。
所有數據表第一個欄位都是系統內部使用主鍵列,自增欄位,不可空,名稱為:id,確保不把此欄位暴露給最終用戶。
除特別說明外,所有日期格式都採用date格式。
除特別說明外,所有欄位默認都設置不充許為空, 需要設置默認值。
所有普通縮影的命名都是表名加設置縮影的欄位名組合,例如用戶表User中name欄位設置普通所以,則縮影名稱命名方式為user_name_index。
2.4 專門指導

對本系統的開發者、使用這、測試員和維護人員,提出以下參考意見:

在使用資料庫時,首先要參考上面的約定內容,做好軟體的安裝以及表格的建立。
資料庫的輸入統一採用鍵盤。對於資料庫的使用許可權,請參考本系統其他相關文檔。
資料庫的後台管理員沒用等級差異,可根據實際情況添加刪除管理員。
2.5 支持軟體

操作系統: Linux / Windows

資料庫系統:MySQL

查詢瀏覽工具:Navicat Premium

命令行工具:mysql

注意:mysql 命令行環境下對中文支持不好,可能無法書寫帶有中文的 SQL 語句。

3. 結構設計需求
3.1 概念結構設計需求

概念資料庫的設計是進行具體資料庫設計的第一步,概念資料庫設計的好壞直接影響到邏輯資料庫的設計,影響到整個資料庫的好壞。

我們已經得到了系統的數據流程圖和數據字典,現在就是要結合數據規范化的理論,用一種模型將用戶的數據要求明確地表示出來。

概念資料庫的設計應該極易於轉換為邏輯資料庫模式,又容易被用戶所理解。概念資料庫設計中最主要的就是採用「實體-關系數據」模型來確定資料庫的結構。

數據是表達信息的一種重要的量化符號,是信息存在的一種重要形式。數據模型則是數據特徵的一種抽象。它描述的是數據的共性,而不是描述個別的數據。一般來說,數據模型包含兩方面內容:

數據的靜態特性:主要包括數據的基本結構、數據間的關系和數據之間的相互約束等特性。
數據的動態特性:主要包括對數據進行操作的方法。
在資料庫系統設計中,建立反映客觀信息的數據模型,是設計中最為重要的,也最基本的步驟之一。

數據模型是連接客觀信息世界和資料庫系統數據邏輯組織的橋梁,也是資料庫設計人員與用戶之間進行交流的共同基礎。概念資料庫中採用的實體-關系模型,與傳統的數據模型有所不同。「實體-關系」模型是面向現實世界,而不是面向實現方法的,它主要是用使用方便,因而在資料庫系統應用的設計中,得到了廣泛應用。「實體-關系」模型可以用來說明資料庫中實體的等級和屬性。

以下是實體-關系模型中的重要標識:

在資料庫中存在的實體;
實體的屬性;
實體之間的關系;
3.2 邏輯結構設計需求
物理結構設計需求

1)定義資料庫、表及欄位的命名規范:

資料庫、表及欄位的命名要遵守可讀性原則。
資料庫、表及欄位的命名要遵守表意性原則。
資料庫、表及欄位的命名要遵守長名原則。
2)選擇合適的存儲引擎:
3)為表中的欄位選擇合適的數據類型。

4)建立資料庫結構

4. 運用設計需求
4.1 表名的命名規范

表名以英文單詞、單詞縮寫、簡寫、下劃線構成,總長度要求小於30位。

4.2 表欄位的命名規范

欄位名以英文單詞、單詞縮寫、簡寫、下劃線構成,總長度要求不超過30位。
欄位名以名詞或名詞短語,欄位採用單數形式。若表名由多個單片語成,則取各個單詞的縮寫組成,單詞縮寫間使用下劃線作為分隔。
若某個欄位是引用某個表的外鍵,則欄位名應盡量與源表的欄位名保持一致,一面混淆。
5. 安全保密設計需求
5.1 防止用戶直接操作資料庫的方法

通過把關鍵應用伺服器和資料庫伺服器進行分離,防止用戶對資料庫伺服器的直接操作,保證資料庫安全。

5.2 應用系統的用戶口令進行加密

在軟體系統中,對於數據的保護、業務操作的許可是通過識別用戶身份和許可權來完成的。用戶口令相比較,相同的話系統將該用戶的操作許可權分配給用戶,用戶再根據所分配的許可權對系統進行操作。

由以上過程可知,用戶口令在傳輸過程中容易被竊取泄漏,另外如果資料庫被非法進入則其中保存的口令能夠被非法查看。因此,在傳輸過程中和資料庫中的口令記錄欄位不應使用明文傳遞和保存,應該在口令被傳遞前對其明文口令使用有效的主流技術,對傳輸數據進行加密部分描述的加密演算法進行加密,在加密後傳輸到系統。系統將用戶提交的經過加密的口令數據保存的加密口令進行比較,相一致則進行後續操作。

㈣ MYSQL資料庫的物理設計都包括哪些內容,怎麼設計

你想設計什麼樣的資料庫啊?..可以簡單的說明一下嗎?..

設計資料庫步驟:概念模型,邏輯模型,物理模型.
概念模型:用戶需求和運行需求的一個高級表示.
邏輯模型:用於捕捉結構化數據的軟體模型的詳細表示.
物理模型:資料庫的所有表和列的詳細規范.

一,在概念上設計一個資料庫(概念模型)
需求:實體,屬性,關系.
軟體:Microsoft Office Visio for Enterprise Anchitects
步驟:啟用軟體,創建實體,添加屬性,添加關系

二,在邏輯上設計一個資料庫來利用關系引擎
需求:表,列,外鍵.
軟體:同上
在概念模型的基礎上創建.

三,物理創建資料庫.
1,打開SQL Server Management Studio
2,右擊資料庫-新建資料庫.
架構:資料庫-安全性(右擊)-新建-架構
架構是用於簡化資料庫對象管理的一種命名空間.
創建表來實現:資料庫-(右擊)表-新建表;
設置主鍵:右擊想要設置成主鍵的項-設置主鍵
CHECK約束:右擊想要約束的項-CHECK約束-添加-表達式

數值屬性:
1,整數和數量:
bit(0_1) tiyint(0_255) smallint(-32768_32767) int(-2147483648_2147483647) bigint(...)
2,精確數據:
decimal(精度9,小數位數0-5) numeric(19,0-9) dec(28/38 0-13/0-17) money(18,4) smallmoney(9,4)
3,科學與工程數據:
float(存儲空間4/8,小數位數1-24/25-53) real(4,24) double(8,53)
4,字元串屬性:
長度固定:char nchar
長度可變:varchar nvarchar
5,日期與時間屬性:
datetime和smalldatetime

2005提供的約束:
NO NTULL:必需填的屬性.
CREATE TABLE EM(
EMNumber INT NOT NULL
)

DEFAULT:插入一行的時候,如果沒有為一個列指定值,就會自動使用DEFAULT值.

PRIMARY KEY:定義主鍵.
CREATE TABLE EM(
EMNumber INT NOT NULL
PRIMARY KEY(EMNumber,..)
)

UNIQUE:約束一個值,使它不在表中重復.
CREATE TABLE EM(
EMNumber INT NOT NULL
UNIQUE(EMNumber,..)
)

CHECK:限制列的取值范圍和模式.
CREATE TABLE EM(
EMNumber INT NOT NULL
CHECK(EMNumber>0)
)

FOREIGN KEY:將一個列表中的值限制為可以在另一個列表中發現的值.
CREATE TABLE EM(
EMNumber INT NOT NULL
FOREING KEY(EMNumber,..)
)

注:使用時最好都使用代碼來操作,並少用中文.
如果是MySQL裡面設計的話..很簡單..一句話..
create datebase [資料庫名];
創建表:
create table [表名](
[表屬性] [屬性類型]
);
如:
//創建資料庫
create datebase school;
//創建表
create table student(
no int primary key,
name varchar(10) not null
);

至於表屬性的類型,你可以在網上找API文檔..

閱讀全文

與mysql資料庫表命名規范相關的資料

熱點內容
國外人都用什麼app采購 瀏覽:669
梅林寶具升級效果 瀏覽:512
為什麼用u8數據備份不了 瀏覽:703
java文件路徑怎麼讀 瀏覽:690
ps被重復命名的文件怎麼找回 瀏覽:564
少兒編程五級有什麼用 瀏覽:529
網路詞有毒是什麼意思 瀏覽:218
蘋果未越獄怎麼裝ipa文件 瀏覽:831
app版權信息頁怎麼寫 瀏覽:334
現成的編程代碼在哪裡下載 瀏覽:362
java7隨機數 瀏覽:890
網路連接度是什麼意思 瀏覽:610
頭條文件路徑在哪裡 瀏覽:833
java主進程 瀏覽:5
軟體app怎麼分享給別人 瀏覽:547
win10怎麼取消使用簡單文件共享 瀏覽:470
微信小程序編譯不變 瀏覽:551
地推推廣哪些app好 瀏覽:974
win10怎麼查無線網密碼是多少 瀏覽:66
數控車工如何考編程 瀏覽:48

友情鏈接