说到“数据库”,我总有一种莫名的感觉,在刚刚接触到的数据库中就让我似懂非懂渡过着,于是思考着、于是在冷静的时空中让我回想到了很多的知识,不知你们是怎样过来的,真心希望我的这篇数据库总结能够让我们都有一个更进步的空间。

就像标题中所说的:“数据库之创建与管理数据库表”,或许说不上新颖之作,但我相信应该有能帮大家解决在学习中运到的一些问题,当然谁都不会是完美,都会有不一样的感触,所以也想借此来和大家多多的交流并分享学习数据库时的郁闷与愉快。

那好,就让我们进入我总结”数据库“时空之境吧!!!

如果说创建数据库,那我们首先就应该知道SQL Server中数据类型
         int:存储整型数字
         numeric(18, 2):存储小数
         decimal(18, 2):存储小数(长度上限为18位,逗号前后分别表示为小数的前后)
         nvarchar():存储文字                                                                                                                                                                                unicode编码:
        以后严重建议大家只要是保存字符串就用nvarchar()类型,n代表的unicode编码,该编码是国际通用编码,可以避免乱码的出

现。var代表长度可变。表中该列真正存储的内容就占它本身的空间,而不会占用该列通过(20)设置的长度所占用的空间。
        archar():存储可变长度的文本
        char(4):存储固定长度的文本
       text();SQL Sever2000的使用使用的大文本类型,现在2005.2008  2012已经无情的毫无怜悯之心的抛弃了它,
       nvarchar(Max)通用
       dateTime:保存日期和时间
       照片:image(二进制存储)

为了能让我们在初期对数据库的熟悉,所以特地规范了一些:
       --以后我们存储姓名:nvarchar(20)
       --存储年龄:int
       --存储性别:bit:仅仅包括两个值(true、false)
       --存储一篇文章:nvarchar(max)
      (注意)尽量不要使用ntext或者是text,因为text和ntext读取效率非常低。

其次呢!对于管理表的数据时,我们当然就得有一些约束了,约束中自然是需要相对完整性的,其中就有非常重要的四种,让我们看看吧!

.四种完整性约束
         1.实体完整性:针对数据行设置的完整性 
         2.域完整性:针对数据列设置的完整性。
         3.引用完整性:外键约束
         4.自定义完整性:为了满足我们的业务需求,我们自己量身定制的完整性约束,一般通过存储过程。

以上就是数据库的四种完整性约束,那它们具体的作用是什么,当然就是它们针对数据的设置与约束了,所以这个需要你们仔细的看看了,尤其是主外键之间的关系要理的特别清楚才行,否则你将很难吃透这个数据库,让我们都来理解理解吧!!!

01.主键约束
  老师的这样一句话:“一张表一定要设置主键,否则别人会骂死你“。让我瞬间明白了主键原来这么 重要;
如果一张表不设置主键,到后续学习框架的时候,框架就欺负你,给你报错。
  不能给自增列手动给值,这个值是由系统自动给的。
  02.非空约束:其意相同
  03.默认值约束:其意相同
  04.check约束:通过表达式来给表格中的值定规则
  05.外键约束:在一张表表A中某列是主键,但是在另外一张表表B中该列不是主键。那么表A称为主键表,表B称为外键表。
   (注意:外键约束只能设置在外键表中)

   之后呢!就是我们一般常识的标识列和通用匹配符,虽说简单,但也需要用心去记,否则再简单都终将不再是简单,反而可能会变成心中永远的难点,那么我们就来熟悉熟悉吧!

标识列
 为了唯一确定一行数据在该表中唯一而设定的一列。
--应用前提:
  01.必须是int(smallint)类型
  02.在标识规范处设置:标识种子,标识增量
(种子值:)标识种子:从哪个数据开始增长
(步长:)标识增量:每次增长几个数

通配符:
     _:有且只有一个字符
     %任意个任意字符
       Like ‘’符(用来修饰的)

说了这么多,我们就应该注意一些常见问题了;

01.外键把控的不好
 02.在SQL Server中,字符串和日期类型数据要加单引号,数值类型不用
 03.每张表中必须都有一个主键,没有主键的表是不行的。
 04.主键列不允许为空
 05.不推荐使用复合主键,主键列选择依据:尽量简单。
 06.如果找不到有意义的列作为表的主键,那么就加多一列ID作为该表的主键列。

  剩下的那就是可能会遗漏的一些常识:

数据库表,要想删除有外键关系的表,必须先删除子表(外键表)。

不知不觉已经把数据库的管理数据表的总结差不多写完了,希望能够够帮到你们,不管是你还是我,如果有什么问题,请说出来我们一起去解决,我的进步旅程绝对不能缺少了你,

如果觉得我的总结还不错,那就继续关注我吧!我的”用SQL语句操作数据“即将随风席卷而来,如果你需要,我一定不会让你们等太久的。

数据库(SQL Server)管理数据库表~新奇之处的更多相关文章

  1. 数据库管理工具神器-DataGrip,可同时管理多个主流数据库[SQL Server,MySQL,Oracle等]连接

    前言 DataGrip:Jet Brains出品的一款数据库管理工具(没错,是Jet Brains出品,必属精品).DataGrip整合集成了当前主流数据库(如:SQL Server, MySQL, ...

  2. 数据库表设计时一对一关系存在的必要性 数据库一对一、一对多、多对多设计 面试逻辑题3.31 sql server 查询某个表被哪些存储过程调用 DataTable根据字段去重 .Net Core Cors中间件解析 分析MySQL中哪些情况下数据库索引会失效

    数据库表设计时一对一关系存在的必要性 2017年07月24日 10:01:07 阅读数:694 在表设计过程中,我无意中觉得一对一关系觉得好没道理,直接放到一张表中不就可以了吗?真是说,网上信息什么都 ...

  3. 解决SQL Server管理器无法连接远程数据库Error: 1326错误

    解决SQL Server管理器无法连接远程数据库Error: 1326错误 我们在在使用SQL Server时都会遇到使用SQL Server Management Studio无法连接远程数据库实例 ...

  4. 解决SQL Server管理器无法连接远程数据库的问题(转)

    add by zhj: 本文最后那个数据库别名没搞明白,在我的测试中没有建别名,是可以的.远程登陆时,服务器名称: 服务器IP,端口号 (如223.42.155.248,52134 如果是默认端口号1 ...

  5. sql server的数据库个数、表个数及表的数据量统计

    sql server的数据库个数.表个数及表的数据量统计   --由于今天要监控数据,急需统计实例中1有多少库2库里有多少表3每个表有多少数据 --将写好的代码贴出来,用到如下的: --sysobje ...

  6. SQL Server 2012 数据库笔记

    慕课网 首页 实战 路径 猿问 手记     Python 手记 \ SQL Server 2012 数据库笔记 SQL Server 2012 数据库笔记 2016-10-25 16:29:33 1 ...

  7. SQL Server中数据库文件的存放方式,文件和文件组

    原文地址:http://www.cnblogs.com/CareySon/archive/2011/12/26/2301597.html   SQL Server中数据库文件的存放方式,文件和文件组 ...

  8. 微软ASP.NET网站部署指南(2):部署SQL Server Compact数据库

    1. 综述 对于数据库訪问,Contoso University程序要求以下的软件必须随程序一起部署.由于不属于.NET Framework: SQL Server Compact (数据库引擎) A ...

  9. 使用Oracle Sql Developer将SQL SERVER 2008数据库移植到Oracle 11g

    ORACLE官方提供的Sql Developer自带的Oracle Migration Workbench. 什么是Oracle SQL Developer?在官方页面上,是这样介绍它的: Oracl ...

  10. sql server 2008 数据库管理系统使用SQL语句创建登录用户步骤详解

    介绍了sql server 2008 数据库管理系统使用SQL语句创建登录用户步骤详解 --服务器角色: --固定服务器角色具有一组固定的权限,并且适用于整个服务器范围. 它们专门用于管理 SQL S ...

随机推荐

  1. ios 输入框bar设置

    _textView = [[class alloc] init];        _textView.translatesAutoresizingMaskIntoConstraints = NO;   ...

  2. log4net配置

    1.configuration配置 <configSections> <section name="log4net" type="log4net.Con ...

  3. 安装storm的一些很乱的笔记

    下面是自己安装和测试storm的一些笔记,比较乱,后续有时间在整理一篇. storm jar all-my-code.jar com.storm.MyTopology arg1 arg2这个命令会运行 ...

  4. 数据分析(9):DataFrame介绍

    DataFrame 表格型的数据结构 创建DataFrame 可以通过传入dict的方式,DataFrame会自动加上索引,并且列会有序排列 data = {'state':['a', 'b', 'c ...

  5. local variable 'r' referenced before assignment

    这个错误是说r在使用前没有定义 def cateToNum(c): if c == 'M PRO': r = 1 if c == 'F PRO': r = 2 if c == 'M PREMIER': ...

  6. 【Hibernate框架】关联映射(多对多关联映射)

    按着我们的总结行进计划,接下来,就是有关于多对多映射的总结了. 我们来举个例子啊,很长时间以来,房价暴涨不落,但是还有很多人拥有很多套房产,假如说,一个富豪拥有九套房产,家里人么准去住哪一套,我们就以 ...

  7. 转:工具类之SpannableStringUtils(相信你会爱上它)

    这个工具类真是构思了良久才设计出来,采用了建造者模式,然后你们就可以用链式调用了,talk is cheap, let me show the demo. demo code 有没有心动一下哈,下面就 ...

  8. 动态SQL 学习

    <select id="findUser" parameterType="Map" resultType="User">     ...

  9. 关于SVN出现 svn working copy locked的原因及解决方法

    今天使用SVN时电脑卡住了,于是结束进程中断了SVN的操作,于是出现了如题问题, 产生这种情况大多是因为上次svn更新命令执行失败且被自动锁定了. 如果cleanup没有效果的话只好手动删除锁定文件. ...

  10. 【iOS [[UIApplication sharedApplication] delegate]】运用

    之前想要拿到app的窗口,我们通常的写法是: [UIApplication sharedApplication].keyWindow 这种写法之前一直也觉得是正确的,没什么问题,而且网上大多数的博客或 ...