第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

首頁 慕課教程 MySQL 入門教程 MySQL 入門教程 12 MySQL 設(shè)計數(shù)據(jù)表

MySQL 設(shè)計數(shù)據(jù)表

前面小節(jié)介紹了如何新建數(shù)據(jù)庫和選擇數(shù)據(jù)庫,還介紹了 MySQL 的存儲數(shù)據(jù)類型,本小節(jié)學(xué)習(xí)如何設(shè)計學(xué)生課程相關(guān)數(shù)據(jù)表,其中包括學(xué)生信息 student,教師信息表 teacher,學(xué)科表 course,學(xué)生選課表 student_course,這一小節(jié)的主要目的是為了學(xué)習(xí)如何新建數(shù)據(jù)表,合理選擇字段類型。

一個數(shù)據(jù)表主要包含信息有 : 表名、主鍵、字段數(shù)據(jù)類型、索引,本節(jié)主要介紹表的命名規(guī)范、字段命名、字段的數(shù)據(jù)類型選擇。

本節(jié)內(nèi)容新建的表都是新建在 “item_name” 數(shù)據(jù)庫中的,新建 “item_name” 數(shù)據(jù)庫命令如下 :

CREATE DATABASE item_name;

新建數(shù)據(jù)庫之后選擇數(shù)據(jù)庫:

USE item_name;

你也可以自行新建一個數(shù)據(jù)庫,自己命名就好。

1. 數(shù)據(jù)表命名規(guī)范

數(shù)據(jù)表命名是小寫字母和下劃線 _ 組成,用來分割不同單詞之間的含義,例如 “student_course” 表示學(xué)生選課關(guān)聯(lián)表,實際命名需要根據(jù)具體功能而定,好的命名規(guī)范在實際工作中也是很重要的。

2. 新建學(xué)生信息表 student

2.1 確定字段

字段名稱 含義
id 自增主鍵
name 學(xué)生姓名
age 學(xué)生年齡
id_number 身份證號

學(xué)生信息表包含的字段可以有很多,本小節(jié)選擇學(xué)生姓名、年齡、身份證號介紹字段的選擇,字段的確定是根據(jù)實際業(yè)務(wù)需求來新增或減少的,例如想要存儲學(xué)生籍貫信息可新增 “address” 字段。

2.2 選擇字段的數(shù)據(jù)類型

字段名稱 數(shù)據(jù)類型
id 無符號整型(UNSIGNED INT)
name VARCHAR(50)
age UNSIGNED INT
id_number VARCHAR(18)

Tips:實際業(yè)務(wù)中一般要將年齡字段設(shè)置為可變,通常會使用時間戳(距離1970-01-01 00:00:00的秒數(shù))來表示年齡相關(guān)的信息,在這里為了方便演示直接使用了 UNSIGNED INT。

一般來說姓名字段的長度為 2-4 個字符,但是考慮到少數(shù)民族的學(xué)生姓名比較長,所以將姓名字段的長度設(shè)置為 50,適當(dāng)?shù)慕o的大一點。身份證號同樣使用字符串類型來存儲,因為有的身份證號中有字母。身份證的長度統(tǒng)一都是 18 位不變,直接在這里寫死就好。

2.3 新建數(shù)據(jù)表

命令 : 
CREATE TABLE `student`  (
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL DEFAULT '無名',
  `age` int(10) UNSIGNED NOT NULL DEFAULT 0,
  `id_number` varchar(18) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`)
);

Tips:其中 “student” 為表名稱,“id”、“name”、“age”、“id_number” 為字段名稱,跟在字段名稱后面的是字段的數(shù)據(jù)類型,“UNSIGNED” 表示無符號,“AUTO_INCREMENT” 表示自增,"PRIMARY KEY (`id`)"表示設(shè)置 “id” 為業(yè)務(wù)主鍵,,"NOT NULL DEFAULT ‘無名’ " 表示默認(rèn)不為空,且默認(rèn)值為 “無名” 。

執(zhí)行結(jié)果如下圖:

圖片描述
查看當(dāng)前數(shù)據(jù)庫中所有的數(shù)據(jù)表:

命令:show tables

可以看到 item_name 數(shù)據(jù)庫中已經(jīng)有了 student 這張數(shù)據(jù)表。

3.新建教師信息表 teacher

3.1 確定字段

字段名稱 含義
id 自增主鍵
name 教師姓名
age 教師年齡
id_number 身份證號

同樣教師信息的字段可選擇也很多,這里選擇教師姓名、教師年齡、教師身份證號,可自行選擇感興趣的字段,并參照新建學(xué)生表的步驟選擇字段,如教師郵箱、教師博客地址。

3.2 選擇字段的數(shù)據(jù)類型

字段名稱 數(shù)據(jù)類型
id 無符號整型(UNSIGNED INT)
name VARCHAR(50)
age UNSIGNED INT
id_number VARCHAR(18)

3.3 新建數(shù)據(jù)表

命令 : 
CREATE TABLE `teacher`  (
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL DEFAULT '教師名',
  `age` int(10) UNSIGNED NOT NULL DEFAULT 0,
  `id_number` varchar(18) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`)
);

Tips: 其中 “teacher” 為表名稱,“id”、“name”、“age”、“id_number” 為字段名稱,跟在字段名稱后面的是字段的數(shù)據(jù)類型,“UNSIGNED” 表示無符號,“AUTO_INCREMENT” 表示自增,“PRIMARY KEY (`id`)” 表示設(shè)置 “id” 為業(yè)務(wù)主鍵,"NOT NULL DEFAULT 教師名’ "表示默認(rèn)不為空,且默認(rèn)值為 “教師名” 。

執(zhí)行結(jié)果如下圖:

圖片描述

Tips: 這里展示了使用 Navicat 來執(zhí)行 sql 語句,選擇數(shù)據(jù)庫只需點擊相應(yīng)的數(shù)據(jù)庫名稱,然后選擇新建查詢即可。

4.新建課程表 course

4.1 確定字段

字段名稱 含義
id 自增主鍵
course_name 課程名稱
teacher_id 教師id

4.2 選擇字段的數(shù)據(jù)類型

字段名稱 數(shù)據(jù)類型
id 無符號整型(UNSIGNED INT)
course_name VARCHAR(50)
teacher_id 無符號整型(UNSIGNED INT)

4.3 新建數(shù)據(jù)表

命令 : 
CREATE TABLE `course`  (
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `course_name` varchar(50) NOT NULL DEFAULT '',
  `teacher_id` int(10) UNSIGNED NOT NULL DEFAULT 0,
  PRIMARY KEY (`id`)
);

執(zhí)行結(jié)果如下圖:

圖片描述

5.新建學(xué)生選課關(guān)聯(lián)表 student_course

5.1 確定字段

字段名稱 含義
id 自增主鍵
student_id 學(xué)生id
course_id 課程id

5.2 選擇字段的數(shù)據(jù)類型

字段名稱 數(shù)據(jù)類型
id 無符號整型(UNSIGNED INT)
student_id 無符號整型(UNSIGNED INT)
course_id 無符號整型(UNSIGNED INT)

5.3 新建數(shù)據(jù)表

命令 : 
CREATE TABLE `student_course`  (
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `student_id` int(10) UNSIGNED NOT NULL DEFAULT 0,
  `course_id` int(10) UNSIGNED NOT NULL DEFAULT 0,
  PRIMARY KEY (`id`)
);

執(zhí)行結(jié)果如下圖:

圖片描述

6.小結(jié)

本節(jié)介紹了如何新建學(xué)生選課相關(guān)數(shù)據(jù)表,熟悉如何合理選擇字段數(shù)據(jù)類型,需要注意的是每一張表都必須有一個主鍵,一般建議選定為無符號整型 id 作為主鍵,并且 id 一般作為主鍵一般設(shè)置為自增的(特殊情況可使用其他非自增 id 作為主鍵),實際業(yè)務(wù)中數(shù)據(jù)庫優(yōu)化第一步即為合理的設(shè)計數(shù)據(jù)表,其中選擇合適的數(shù)據(jù)類型顯得尤為重要。