選中某個表,然后右鍵點擊,選擇“設計表”即可。
公司主營業(yè)務:網(wǎng)站建設、成都做網(wǎng)站、移動網(wǎng)站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)推出呼和浩特免費做網(wǎng)站回饋大家。
也可以左鍵點擊某個表(即選中某表),在上面輔助菜單欄里有“打開表”、“設計表”、“新建表”等按鈕可點擊,點擊“設計表”按鈕即可。
進入后,會彈出新的操作窗口,新窗口的菜單欄里有常用的修改表結構的按鈕,右鍵點擊某列字段也可以彈出相應的修改表的操作按鈕。
其它摸索著看提示操作即可,還是很簡單的。
修改好表后點擊菜單欄上的“保存”按鈕即可。
注:若要查看修改表的sql語句,必須在“保存”之前點擊“SQL預覽”按鈕。
1、打開Navicat for MySQL,找到要創(chuàng)建數(shù)據(jù)庫中數(shù)據(jù)表
2、接著我們在“表”上面單擊鼠標右鍵,然后點擊“新建表”
3、然后,右邊就會出現(xiàn)設計表的界面,這里可以設置表的字段名,類型,長度以及是否為null等
4、設計完數(shù)據(jù)表之后,點擊“保存”按鈕就OK了。
5、我們在其中輸入表名就點擊確定就可以了,表名可以根據(jù)自己的需求來設置
這個問題問的好,要弄一個表很容易,關鍵是表設計出來是否合理!
如果表設計的好,則會相當清晰,易于理解,后續(xù)開發(fā)上事半功倍,維護也方便;如果設計的不好,則難以理解,維護困難,代價大。
表與表之間的關系有三種:1.一對一,2.一對多,3.多對多
一對一的表,兩表的屬性實際上完全可以合并成一個表,共用一個主鍵即可;
一對多的表,可以設中間關聯(lián)表,也可以將關聯(lián)表并入“多”這頭;若設獨立關聯(lián)表,則可引入“多”這頭的主鍵作為其主鍵,也可另立主鍵,并將“一”和“多”兩表的主鍵作為關聯(lián)表的外鍵;
多對多的表,則必須設中間關聯(lián)表,關聯(lián)表設獨立主鍵,并引入兩個“多”頭的表的主鍵作為關聯(lián)表的外鍵。
這是上述三種關系表在鍵處理上的基本原則。
范式還是要遵循的,這套理論還是科學合理的。不要相信反范式設計,反范式設計在規(guī)模龐大時,數(shù)據(jù)冗余多,編碼及維護會變得困難,萬一考慮漏掉的將導致數(shù)據(jù)不一致,甚至釀成災難。嚴格按照范式理論來設計數(shù)據(jù)庫,將使你編碼及維護時少操很多心。
一般來說,先進行需求分析,然后畫出數(shù)據(jù)流圖,然后再根據(jù)數(shù)據(jù)流圖畫出ER圖,然后再根據(jù)ER圖創(chuàng)建各種表。表是根據(jù)ER圖來創(chuàng)建的,表設計的合不合理,關鍵是ER圖抽像的合不合理。在抽像ER圖時,一般遵循這樣的原則:
能用1對1的,就不用1對多;能用1對多的,就不用多對多,往簡單化方向靠;
能當屬性處理的,盡量當屬性,而不是當實體處理去另立新表,這樣可使問題簡化。
把意義相近聯(lián)系緊密的屬性放在一張表內(nèi),而不是拆在多張表中。
看了一下你上述幾張表,我認為不合理,戶主是人,家庭成員也是人,把他們分在戶主表和家庭成員表中不合理,他們是同一類的,宜合在一張家庭成員表中,并增加一個標志性字段,以指明哪個人是戶主。另外,宜建立一張地址表,以取代戶主表,地址表中宜指明鄉(xiāng)場鎮(zhèn)、村巷道、幾區(qū)、門牌號等與地址關系緊密的屬性,把戶籍、聯(lián)系方式、戶主等字段拿走,他們不是地址屬性,這幾個宜放在成員關系表中,戶籍是人的屬性,并非地址的屬性,聯(lián)系方式就更明顯了,要聯(lián)系的是人,而不是地址。
很明顯,地址和家庭成員是一對多關系,一個地址同時可以住著多個成員,而一個成員同時只能住一個地址,這樣,設計成地址表和家庭成員表之后,要在家庭成員表中再加一個地址外鍵字段,把地址表的主鍵當作家庭成員表的外鍵填入,這樣,成員表中的每個人都可以通過地址外鍵字段到地址表中找到其所住地址。另外,成員表中也指明了哪個人是戶主,也指明了每個人的戶籍和聯(lián)系方式,這些信息你都可以找得到。
MySQL 提供了多種創(chuàng)建索引的方法:
1) 使用 CREATE INDEX 語句
可以使用專門用于創(chuàng)建索引的 CREATE INDEX 語句在一個已有的表上創(chuàng)建索引,但該語句不能創(chuàng)建主鍵。
語法格式:
CREATE 索引名 ON 表名 (列名 [長度] [ ASC | DESC])
語法說明如下:
索引名:指定索引名。一個表可以創(chuàng)建多個索引,但每個索引在該表中的名稱是唯一的。
表名:指定要創(chuàng)建索引的表名。
列名:指定要創(chuàng)建索引的列名。通??梢钥紤]將查詢語句中在 JOIN 子句和 WHERE 子句里經(jīng)常出現(xiàn)的列作為索引列。
長度:可選項。指定使用列前的 length 個字符來創(chuàng)建索引。使用列的一部分創(chuàng)建索引有利于減小索引文件的大小,節(jié)省索引列所占的空間。在某些情況下,只能對列的前綴進行索引。索引列的長度有一個最大上限 255 個字節(jié)(MyISAM 和 InnoDB 表的最大上限為 1000 個字節(jié)),如果索引列的長度超過了這個上限,就只能用列的前綴進行索引。另外,BLOB 或 TEXT 類型的列也必須使用前綴索引。
ASC|DESC:可選項。ASC指定索引按照升序來排列,DESC指定索引按照降序來排列,默認為ASC。
2) 使用 CREATE TABLE 語句
索引也可以在創(chuàng)建表(CREATE TABLE)的同時創(chuàng)建。在 CREATE TABLE 語句中添加以下語句。語法格式:
CONSTRAINT PRIMARY KEY [索引類型] (列名,…)
在 CREATE TABLE 語句中添加此語句,表示在創(chuàng)建新表的同時創(chuàng)建該表的主鍵。
語法格式:
KEY | INDEX [索引名] [索引類型] (列名,…)
在 CREATE TABLE 語句中添加此語句,表示在創(chuàng)建新表的同時創(chuàng)建該表的索引。
語法格式:
UNIQUE [ INDEX | KEY] [索引名] [索引類型] (列名,…)
在 CREATE TABLE 語句中添加此語句,表示在創(chuàng)建新表的同時創(chuàng)建該表的唯一性索引。
語法格式:
FOREIGN KEY 索引名 列名
在 CREATE TABLE 語句中添加此語句,表示在創(chuàng)建新表的同時創(chuàng)建該表的外鍵。
在使用 CREATE TABLE 語句定義列選項的時候,可以通過直接在某個列定義后面添加 PRIMARY KEY 的方式創(chuàng)建主鍵。而當主鍵是由多個列組成的多列索引時,則不能使用這種方法,只能用在語句的最后加上一個 PRIMARY KRY(列名,…) 子句的方式來實現(xiàn)。
1.數(shù)據(jù)庫中的多對多關聯(lián)關系一般需采用中間表的方式處理,將多對多轉化為兩個一對多。
2.通過表的關系,來幫助我們怎樣建表,建幾張表。
一對一
一張表的一條記錄一定只能與另外一張表的一條記錄進行對應,反之亦然。
學生表:姓名,性別,年齡,身高,體重,籍貫,家庭住址,緊急聯(lián)系人
其中姓名、性別、年齡、身高,體重屬于常用數(shù)據(jù),但是籍貫、住址和聯(lián)系人為不常用數(shù)據(jù)
如果每次查詢都是查詢所有數(shù)據(jù),不常用的數(shù)據(jù)就會影響效率,實際又不用
常用信息表:ID(P),姓名,性別,年齡,身高,體重
不常用信息表:ID(P),籍貫,家庭住址,緊急聯(lián)系人
解決方案:將常用的和不常用的信息分享存儲,分成兩張表
不常用信息表和常用信息表,保證不常用信息表與常用信息表能夠對應上:找一個具有唯一性的
字段來共同連接兩張表。
一個常用表中的一條記錄永遠只能在一張不常用表中匹配一條記錄,反之亦然。
一對多
一張表中有一條記錄可以對應另外一張表中的多條記錄;但是反過來,另外一張表的一條記錄
只能對應第一張表的一條記錄,這種關系就是一對多或多對一
母親與孩子的關系:母親,孩子兩個實體
母親表:ID(P),名字,年齡,性別
孩子表:ID(P),名字,年齡,性別
以上關系:一個媽媽可以在孩子表中找到多條記錄(也可能是一條),但是一個孩子只能找到一個媽媽
是一種典型的一對多的關系。
但是以上設計:解決了實體的設計表問題,但是沒有解決關系問題,孩子找不到母親,母親也找不到孩子
解決方案:在某一張表中增加一個字段,能夠找到另外一張表中的記錄:在孩子表中增加一個字段
指向母親表,因為孩子表的記錄只能匹配到一條母親表的記錄。
母親表:ID(P),名字,年齡,性別
孩子表:ID(P),名字,年齡,性別,母親表ID(母親表主鍵)
多對多
一對表中(A)的一條記錄能夠對應另外一張表(B)中的多條記錄;同時B表中的一條記錄
也能對應A表中的多條記錄
老師和學生
老師表 T_ID(P),姓名,性別
學生表 S_ID(P),姓名,性別
以上設計方案:實現(xiàn)了實體的設計,但是沒有維護實體的關系
一個老師教過多個學生,一個學生也被多個老師教過
解決方案:增加一張中間關系表
老師與學生的關系表:ID(P),T_ID,S_ID
老師表與中間表形成一對多的關系,而中間表是多表;維護了能夠唯一找到一表的關系;
同樣的學生表與中間表也是一個一對多的關系;
學生找老師:找出學生ID---中間表尋找匹配記錄(多條)---老師表匹配(一條)
老師找學生:找出老師ID---中間表尋找匹配記錄(多條)---學生表匹配(一條)
1、職責信息表、包含表述信息
2、工作任務表
3、職責和任務關聯(lián)中間表
這樣就做到了職責表1對多個工作表,后面不管怎么加都是一個套路