目錄
一:數據存儲問題
1.表的相關數據
2.表,字段,記錄
二:建表
?? ? ? 1.創建表頭
2. 數據類型
3.保存數據
4.數據冗余?
5.使用命令重置表?
7.設置主鍵?
一:數據存儲問題
1.表的相關數據
????????????????表是數據庫的基本單位,所有的數據都是存儲在表里的,我們所有的操作都是對表的操作。表在數據庫中的地位類似于Java中的類。
?????????
2.表,字段,記錄
下面我們來學習表 字段,記錄;
主鍵:唯一的標識一個事物的屬性稱之為主鍵;
外鍵:來自其他表的主鍵(沒有標準的定義,純屬個人理解);
字段/屬性:一個事物的靜態特征,如姓名,性別等,(類似于Java中的成員變量)表的每一列信息稱為字段;
記錄/元組;表的每一行信息稱為記錄;
?????????如下圖,有兩個表:分別是員工表和部門表;
????????為了區分員工表中員工重名的情況,我們添加 “編號” 這一列,表的每一列就是字段或者屬性,即 “ 100001? 100002? 100003? 100004 ”。并且,對于這個表來說,這一列也稱之為主鍵,即區分員工的唯一標識的列。張三所在的那一行稱之為記錄,即 “ 張三? 3000? 男? 29? 100001? 1 ”;
二:建表
????????建表的兩種方式:用鼠標+鍵盤(不推薦);輸入命令;
????????用 “鼠標+鍵盤” 的方式建表,容易點錯,而且不夠穩定?,況且使用的時候他們也是轉化為命令;
????????用命令寫的缺點是需要記憶一些命令;
?? ? ? 1.創建表頭
????????右擊“表”,選擇新建即可,輸入 “ 員工 ” 表的列名,數據類型,允許為空一般不勾選。輸入完畢后,使用快捷鍵“ Ctrl+S”保存,再輸入表名,如此創建成功。
?????????“ dbo 前綴 ”表示他是一個系統的身份,我們后面會較深入解釋。
2. 數據類型
打開新建的 “ dbo.emp ” 表,打開列,會看到我們剛才創建的東西。
括號中的 nchar(10)代表國際化可存儲漢字的字符,長度不超過10.
有的時候可能會出現 nvarchar(max) ,它代表國際化可存儲漢字的字符變量,長度不超過 max 。
3.保存數據
????????右擊 “ dbo.emp ” ——編輯前兩百行。如果你只輸入如下三個記錄,直接點擊“ Enter ”就可以保存數據,如果 右擊“鉛筆形狀”——選擇執行,只能保存兩個記錄。
4.數據冗余?
????????數據冗余:兩個或多個記錄重復的情況。
? ? ? ? 這時,我們無法通過點擊某個選項去修改或者刪除數據,這就是我們前面提到的用“鼠標+鍵盤”手動輸入庫的缺點,即輸入數據錯誤,無法修改;
????????(我嘗試修改重復記錄的數據,可以輸入數據,但無法保存,如下圖)
????????遇到這種情況,我們可以嘗試通過命令去修改記錄。
????????右擊 “ dbo.emp ” 的庫“coco”,選擇“數據庫查詢”,通過主鍵來找到重復的記錄,where來確定要修改的具體數據。
????????但是,這種操作還是失敗的!這是因為兩個記錄完全是一樣的,我們無法告訴計算機我們要修改哪一個冗余記錄,修改哪一個冗余記錄的哪一個數據,總之,計算機無法辨別我們的命令。
5.使用命令重置表?
????????我們必須刪除表的全部內容!
????????右擊 “ dbo.emp ” 的庫“coco”,選擇“新建查詢”,輸入“delete from 表名”,點擊 “ 執行 ” 即可重置表;
????????再次打開,可以發現,表重置成功;?
????????我們反思一下,當出現數據冗余的時候,我們無論是采取“鼠標+鍵盤”還是“使用命令”的方式都無法修改數據,只能充值表,這在現實應用中特別麻煩,一定存在某種方式可以避免這種情況的出現。
7.設置主鍵?
????????我們必須在創建表之后輸入數據之前設置主鍵:右擊“dbo.emp ”——設計——右擊“emo_id”——設置主鍵 即可。
?????????這樣,當我輸入兩個“emp_id”相同的人或者重復輸入的時候,它會告訴我無法保存,這就避免數據冗余的產生。
? ? ? ? 接下來,我們需要創建第二個表:部門
? ? ? ? 在同一庫下,選擇一個表,右擊“創建表”,創建完成后記得刷新(如下面左圖)。例如我沒有刷新,一直以為自己在哪一步出現了問題,沒有創建成功,一塊嘗試了三次,重啟軟件后,才看到新創建的表(如下面右圖);
? ? ? ? ? ??
?????????緊接著,我們照例先設置主鍵,再輸入數據;
? ? ? ? ?明天,我們再學習如何將這兩個表連接在一起,今天有點累啊。
? ? ? ?