电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

SQL Server主鍵與外鍵設置以及相關理解

瀏覽:234日期:2023-03-06 14:25:32
目錄
  • 一、定義與作用
  • 二、SSMS設置表的主鍵與外鍵
    • 1、利用SQL語句建立查詢設置
    • 2、利用鼠標點擊操作創(chuàng)建(SSMS環(huán)境下)
  • 三、主鍵表與外鍵表(個人的總結與反思...)
    • 補充:SQL Server的主鍵與外鍵約束
      • 總結

        一、定義與作用

        主鍵:表中能夠唯一地辨別事物的屬性。通過主鍵能夠查詢出表中一條完整的記錄,同時使用主鍵能防止表中出現重復的記錄,避免了數據的冗余。

        外鍵:通俗講就是表中一個屬性是來自另一張表的主鍵,該屬性被稱為該表的外鍵,外鍵可以有不止一個。外鍵存在的意義就是將事物與事物之間聯(lián)系起來。

        二、SSMS設置表的主鍵與外鍵

        1、利用SQL語句建立查詢設置

        舉了一個學生、課程以及學生成績關系表的例子:

        --代碼create table [表名] (    屬性名 類型 primary key,    屬性名 類型 foreign key references [外鍵來自的表](外鍵的屬性名),    屬性名 類型 not null,    屬性名 類型 null,···  ···); --實例create table Student(--創(chuàng)建Student表	Stu_id varchar(10) primary key,  --學號Stu_id設置為主鍵	Stu_name nvarchar(10) not null,  --學生姓名	Stu_sex nvarchar(2) default "男");       --學生性別,設置默認值為"男"  create table Course( --創(chuàng)建課程信息表Course	Course_id varchar(4) primary key,--課程編號Course_id設置為主鍵	Course_name varchar(10) not null);       --課程姓名  create table StudentGrade(    --創(chuàng)建成績表	stu_id varchar(10) foreign key references Student(Stu_id),--學生學號設置為外鍵	Course_id varchar(4) foreign key references Course(Course_id),    --課程號設置為外鍵	Grade int null);  --學生成績

        2、利用鼠標點擊操作創(chuàng)建(SSMS環(huán)境下)

        1) 設置主鍵

        a.在已創(chuàng)建Student表的前提下,點擊Student表,右擊,選擇<設計>

        b.選擇屬性Stu_id,右擊,選擇設置主鍵

        設置完成,Course表主鍵設置同上。

        2)設置外鍵

        a.選擇StudentGrade表,如1)中a所示選擇<設計>

        b.選擇屬性Stu_id,右擊,選擇<關系>

        c.在彈出的窗口選擇<添加>

        d.點擊表和列規(guī)范最右邊的三個小點(白色背景可能看不到,但點最右邊也差不多了)

        e.關系名可以重新編輯,最好是能讓自己記得住或看得懂含義的名字。將主鍵表和外鍵表設置完后點擊右下方確認即可。

        三、主鍵表與外鍵表(個人的總結與反思...)

        剛開始上課的時候我就有點搞不清主鍵表與外鍵表,特別是設置的這張圖里,

        (假設正在設置的這張StudentGrade表稱為本表,其他表相對地稱為外表),我認為外鍵表應該是指外鍵本來所在的表,即外表,因此應該設置為Student才對,但是這個框框一直編輯不了;而主鍵表應該指我正在編輯的這張StudentGrade表才對,但是當選擇StudentGrade之后,下面列選項的框框就變成空的,沒有列可選。

        但是將兩個操作互換后又能得到想要的結果,所以當時就半懵半混過去了。

        然后偶然聽到郝斌老師的課之后才恍然大悟。

        首先,主鍵表應該是指外鍵所來自的那個表,即例子中的Student表,在Student表中Stu_id是該表的主鍵,因此該表稱為主鍵表;而外鍵表則指Stu_id扮演外鍵的時候所在的表,即例子中StudentGrade表。

        補充:SQL Server的主鍵與外鍵約束

        SQL Server的主鍵與外鍵約束SQL Server有許多的重要知識,開始也說過許多的SQL知識了。SQL Server中的約束也是一個重要性的知識,下面我來說說關于SQL Server約束的知識。

        首先我們來說說SQL sever的主鍵約束:主鍵是唯一標識表中每一行的列或一組列??梢允褂?PRIMARY KEY 約束為表創(chuàng)建主鍵。如果主鍵只包含一列,則可以將 PRIMARY KEY 約束定義為列約束,如果主鍵有兩列或更多列,則必須使用 PRIMARY KEY約束作為表約束(代碼如圖所示):

        每個表只能有一個主鍵。參與主鍵的所有列必須定義為 NOT NULL。如果沒有為這些列指定 NOT NULL 約束,SQL Server會自動為所有主鍵列設置 NOT NULL 約束。在創(chuàng)建主鍵時,SQL Server還會自動創(chuàng)建唯一的聚簇索引(如果指定,則為非聚集索引)。

        接下來就是外鍵約束:SQL Server外鍵約束簡介外鍵是一個表中的一列或一組列,它唯一地標識另一個表的行。 vendor_groups 和vendor表,它們的結構(如圖所示):

        每個供應商屬于供應商組,每個供應商組可能有零個或多個供應商。 vendor_groups 和 vendors 表之間的關系是一對多的。對于 vendors 表中的每一行,始終可以在 vendor_groups 表中找到相應的行。但是,如果使用當前表創(chuàng)建方式,可以在vendors 表中插入一行而不在 vendor_groups 表中顯示相應 的行。 還可以刪除 vendor_groups 表中的行,而無需更新或刪除 vendors 表中導致 vendors 表中存在孤立的行。要強制執(zhí)行 vendor_groups 和 vendors 表中的數據之間的鏈接,需要在 vendors 表中建立外鍵。要創(chuàng)建外鍵,請使用 FOREIGN KEY 約束。以下語句刪除 vendors 表并使用 FOREIGN KEY 約束重新創(chuàng)建它:

        現在,vendor_groups 表稱為父表,該表是外鍵約束引用的表。 vendors 表稱為子表,該表是應用外鍵約束的表。

        總結

        到此這篇關于SQL Server主鍵與外鍵設置以及相關理解的文章就介紹到這了,更多相關SQL Server主鍵與外鍵設置內容請搜索以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持!

        標簽: MsSQL
        主站蜘蛛池模板: 三佳互联一站式网站建设服务|网站开发|网站设计|网站搭建服务商 赛默飞Thermo veritiproPCR仪|ProFlex3 x 32PCR系统|Countess3细胞计数仪|371|3111二氧化碳培养箱|Mirco17R|Mirco21R离心机|仟诺生物 | 商标转让-商标注册-商标查询-软著专利服务平台 - 赣江万网 | 压力变送器-上海武锐自动化设备有限公司 | 特种电缆厂家-硅橡胶耐高温电缆-耐低温补偿导线-安徽万邦特种电缆有限公司 | 阻垢剂,反渗透阻垢剂,缓蚀阻垢剂-山东普尼奥水处理科技有限公司 真空粉体取样阀,电动楔式闸阀,电动针型阀-耐苛尔(上海)自动化仪表有限公司 | 超声波成孔成槽质量检测仪-压浆机-桥梁预应力智能张拉设备-上海硕冠检测设备有限公司 | 手持式3d激光扫描仪-便携式三维立体扫描仪-北京福禄克斯 | 科客,主见不成见| 液压扳手-高品质液压扳手供应商 - 液压扳手, 液压扳手供应商, 德国进口液压拉马 | 深圳货架厂家_金丽声精品货架_广东金丽声展示设备有限公司官网 | 防腐储罐_塑料储罐_PE储罐厂家_淄博富邦滚塑防腐设备科技有限公司 | 福兰德PVC地板|PVC塑胶地板|PVC运动地板|PVC商用地板-中国弹性地板系统专业解决方案领先供应商! 福建成考网-福建成人高考网 | 单机除尘器 骨架-脉冲除尘器设备生产厂家-润天环保设备 | 环讯传媒,永康网络公司,永康网站建设,永康小程序开发制作,永康网站制作,武义网页设计,金华地区网站SEO优化推广 - 永康市环讯电子商务有限公司 | 慢回弹测试仪-落球回弹测试仪-北京冠测精电仪器设备有限公司 | 隐形纱窗|防护纱窗|金刚网防盗纱窗|韦柏纱窗|上海青木装潢制品有限公司|纱窗国标起草单位 | 顶空进样器-吹扫捕集仪-热脱附仪-二次热解吸仪-北京华盛谱信仪器 | 宝鸡市人民医院| 北京银联移动POS机办理_收银POS机_智能pos机_刷卡机_收银系统_个人POS机-谷骐科技【官网】 | 诚暄电子公司首页-线路板打样,pcb线路板打样加工制作厂家 | 空气能采暖,热泵烘干机,空气源热水机组|设备|厂家,东莞高温热泵_正旭新能源 | 东莞工作服_东莞工作服定制_工衣订做_东莞厂服 | 东莞工作服_东莞工作服定制_工衣订做_东莞厂服 | 高精度-恒温冷水机-螺杆式冰水机-蒸发冷冷水机-北京蓝海神骏科技有限公司 | 外观设计_设备外观设计_外观设计公司_产品外观设计_机械设备外观设计_东莞工业设计公司-意品深蓝 | 济南轻型钢结构/济南铁艺护栏/济南铁艺大门-济南燕翔铁艺制品有限公司 | 礼堂椅厂家|佛山市艺典家具有限公司 | 电动百叶窗,开窗器,电动遮阳百叶,电动开窗机生产厂家-徐州鑫友工控科技发展有限公司 | 实验室pH计|电导率仪|溶解氧测定仪|离子浓度计|多参数水质分析仪|pH电极-上海般特仪器有限公司 | 反渗透阻垢剂-缓蚀阻垢剂厂家-循环水处理药剂-山东鲁东环保科技有限公司 | ERP企业管理系统永久免费版_在线ERP系统_OA办公_云版软件官网 | 厚壁钢管-厚壁无缝钢管-小口径厚壁钢管-大口径厚壁钢管 - 聊城宽达钢管有限公司 | 东风体检车厂家_公共卫生体检车_医院体检车_移动体检车-锦沅科贸 | 齿轮减速机_齿轮减速电机-VEMT蜗轮蜗杆减速机马达生产厂家瓦玛特传动瑞环机电 | 云阳人才网_云阳招聘网_云阳人才市场_云阳人事人才网_云阳人家招聘网_云阳最新招聘信息 | 恒温恒湿试验箱_高低温试验箱_恒温恒湿箱-东莞市高天试验设备有限公司 | 顺景erp系统_erp软件_erp软件系统_企业erp管理系统-广东顺景软件科技有限公司 | 七维官网-水性工业漆_轨道交通涂料_钢结构漆 | 广东成考网-广东成人高考网 | 无锡不干胶标签,卷筒标签,无锡瑞彩包装材料有限公司 | 动环监控_机房环境监控_DCIM_机房漏水检测-斯特纽 |