SQL——SERVER的建表的基础知识

目录

一:数据存储问题

1.表的概念

2.表,字段,记录,主键,外键

3.主键与外键的关系

二:图形化界面建表

 1.创建前的基本认识

       1.(1)创建表头

        1.(2) 数据类型

        1.(3)保存数据

        1.(4)数据冗余 

        1.(5)使用命令重置表 

        2. 设置主键约束 (primary key)

        3. 设置唯一键约束(unique key)

         4.设置默认键约束(default key)

        5.设置外键约束 (foreign key)

        6. check(检查)约束 

  三. 语法代码



一:数据存储问题

1.表的概念

                表是数据库的基本单位,所有的数据都是存储在表里的,我们所有的操作都是对表的操作。表在数据库中的地位类似于Java中的类。

         

2.表,字段,记录,主键,外键

下面我们来学习表 字段,记录;

主键:唯一的标识一个事物的属性称之为主键;

外键:来自其他表的主键(也可以不是主键)(纯属个人理解);

字段/属性:一个事物的静态特征,如姓名,性别等,(类似于Java中的成员变量)表的每一列信息称为字段;

记录/元组;表的每一行信息称为记录;

         如下图,有两个表:分别是员工表和部门表;

        为了区分员工表中员工重名的情况,我们添加 “编号” 这一列,表的每一列就是字段或者属性,即 “ 100001  100002  100003  100004 ”。并且,对于这个表来说,这一列也称之为主键,即区分员工的唯一标识的列。张三所在的那一行称之为记录,即 “ 张三  3000  男  29  100001  1 ”;

3.主键与外键的关系

外键就是用来连接两个或多个表,表示事物与事物之间的关系;

二:图形化界面建表

        建表的两种方式:图形化界面(即鼠标+键盘);语法代码 

        通过 图形化界面 的方式建表,容易点错,而且不够稳定 ,况且使用的时候他们也是转化为 语法代码;

        用 语法代码 写的缺点是需要记忆一些命令;

 1.创建前的基本认识

       1.(1)创建表头

        右击“表”,选择新建即可,输入 “ 员工 ” 表的列名,数据类型,允许为空一般不勾选。输入完毕后,“ Ctrl+S” 保存,再输入表名,如此创建成功。

         “ dbo 前缀 ”表示他是一个系统的身份,我们后面会较深入解释。

        1.(2) 数据类型

打开新建的 “ dbo.emp ” 表,打开列,会看到我们刚才创建的东西。

括号中的 nchar(10)代表国际化可存储汉字的字符,长度不超过10.

有的时候可能会出现 nvarchar(max) ,它代表国际化可存储汉字的字符变量,长度不超过 max 。

         1.(3)保存数据

        右击 “ dbo.emp ” ——编辑前两百行。每个记录填满后,直接点击“ Enter ”就可以保存数据,填写下一个记录;如果 右击“铅笔形状”——选择执行,在已填的是三个记录中只能保存两个记录。

        

        1.(4)数据冗余 

        数据冗余:两个或多个记录重复的情况。

        这时,我们无法通过点击某个选项去修改或者删除数据,这就是我们前面提到的通过“图形化界面”手动输入库的缺点,即输入数据重复,无法修改;

        (我们尝试修改重复记录的数据,可以输入数据,但无法保存,如下图)

        遇到这种情况,我们可以尝试通过命令去修改记录。

        右击 “ dbo.emp ” 的库“coco”,选择“数据库查询”,通过主键来找到重复的记录,where来确定要修改的具体数据。

        但是,这种操作还是失败的!这是因为两个记录完全是一样的,我们无法告诉计算机我们要修改哪一个冗余记录,修改哪一个冗余记录的哪一个数据,总之,计算机无法辨别我们的命令

        1.(5)使用命令重置表 

        遇到数据冗余的情况,我们必须删除表的全部内容!

        右击 “ dbo.emp ” 的库“coco”,选择“新建查询”,输入“delete from 表名”,点击 “ 执行 ” 即可重置表;

        再次打开,可以发现,表重置成功; 

        我们反思一下,当出现数据冗余的时候,我们无论是采取“鼠标+键盘”还是“使用命令”的方式都无法修改数据,只能充值表,这在现实应用中特别麻烦,一定存在某种方式可以避免这种情况的出现。

        2. 设置主键约束 (primary key)

        我们必须在创建表之后输入数据之前设置主键:右击“dbo.emp ”——设计——右击“emo_id”——设置主键 即可。

         这样,当我输入两个“emp_id”相同的人或者重复输入的时候,它会告诉我无法保存,这就避免数据冗余的产生。

     

          3. 设置唯一键约束(unique key)

        唯一键的功能类似于 “主键” ,但不能与主键重复;

        我们以 stu表为例,将 stu_name 设置为唯一键:右击该记录——选择“索引/键”——添加,列,列名,确定——是唯一的:是;

         (PK_stu是主键,我们点击添加,出现IX_stu*,)

                

        

     

         4.设置默认键约束(default key)

        选中该记录,直接设置 “默认值绑定” 即可;

        我们以stu表中的stu_score为例;

        5.设置外键约束 (foreign key)

        大概简单介绍一下外键吧,外键是其来自他表的主键,用于两个表的 “连接” ,即让两个表产生某种关系;

        含有外键的表称为外键表;

        也可以这么理解,连接就是设置外键;

        下面我们以 tea表 和 stu表为例;我们在 stu表中引入  tea表中的 tea_id:(首先tea_id得是tea表的主键)在stu表中,插入tea_id记录——右击“关系”,选择“表和列规范”——在弹窗中选择“主键表,列名”即可,外键表不可修改。

        6. check(检查)约束 

                check约束就是限制列的范围,使其在一个合理的范围;

           选中列名,右击,选择 “check约束“——添加,输入表达式 即可;

                下面我们以stu_score为例,设置其范围 ”大于等于60小于等于100“ ;

  三. 语法代码

                我们接下来通过语法代码来实现一个表;

          我们创建两个表,分别是 moral表,mora表,在 mora表中引用moral中的 id ;

                我们通过查看列,键,约束验证一下:

  • 46
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值