数据库基础1

学习MSSQLServer操作

  • 引子

  数据库Database:数据的仓库

    -》仓库里有排货架(表),货物会分类存放,比如牙膏、牙刷会放到一个排货架上,面包就会单独放在一个排货架上。

    -》仓库又分为很多种粮仓、武器仓库。

    -》仓库中还会有很多仓库管理员(DBA)对货物进行管理

    -》从仓库中拿货物需要凭证,取货和进货的人(程序员)

  数据库其实也是文件。

  •   数据库特点

    -》海量存储

    -》查找速度快

    -》并发性问题控制

    -》安全性

    -》数据完整性(保存在数据库中的数据都是正确的,真实的,并且无冗余信息)

  •   数据库中的概念

  不同类的数据应该放到不同的数据库中,便于对各个数据类别的进行个性化管理

   数据库中的关系指的就是表。不同的货物要放到各自的货物架,将这种区域叫做表(Table )

  -》列(Colum)字段(Filed)行(Row)组

  问题:我们可以运出有重复的记录吗?

  答:不可以,因为不符合数据库的完整性。

  -》主键(Primary Key)

  主键就是数据行的唯一标识,用来避免完全重复的记录,所以不会重复的列才能当主键。一个表可以没有主键,但是会难以处理,因此没有特殊理由都要设定主键。

  说明:如果没有主键,数据数据库有重复数据,删除时会报错。

  ♦选择主键的策略:

   1.没有重复的列

   2.不能为空的列

   3.选择比较稳定的列(因为数据存储在磁盘的位置与主键相关,若是主键频繁改动,就会频繁改动其磁盘的位置,影响性能)

   4.选择那些字节数比较小的列

   5.尽量选择单列为主键,而不是多列为主键(复合主键)

   6.尽量选择没有意义的列(逻辑主键)而非业务主键(与所处理业务相关的列,比如身份证号码,银行号)

   说明:复合主键存在的情况:比如两家公司合并后,很可能两家员工的编号有重复的,合并成一家公司后,为了避免重复的员工编号,可以将公司名和员工编号两列作为主键。但是我们一般不建议这种解决方案。(建议可以用增加一列自动生成编号作为主键)

   问题:一个表中可以有多个主键吗?

   答:不可以,因为数据存储的顺序与主键相关,因为表中数据实际存储顺序只能有一种。

       关于冗余信息的问题而引出的外键说明例子:

商品ID

商品名

价格

生产厂家

厂家地址

厂家电话

1001

大大香瓜子

5.00

大大食品厂

恰恰大街300号

010-123456

1002

大大开心果

15.00

大大食品厂

恰恰大街300号

010-123456

1003

苦咖啡

2

伊利食品厂

内蒙古伊利路1号

400400400

1004

随变

3

伊利食品厂

内蒙古伊利路1号

400400400

1005

冰工厂

1

伊利食品厂

内蒙古伊利路1号

400400400

  试想:当大大食品厂的地址或者电话号码变化了,我们需要修改好几条重复的数据。这便是数据冗余的问题,它造成空间的浪费,以及删除修改操作的繁琐。解决方法:我们设计一张新的表专门记录厂家的地址和电话号码。

其中有外键的表就就是外键表(也可以理解为被引用的表叫做主键表,引用别的表叫做外交表)

例子:

 

 上述例子中第二种表的设计模式只能存储一次的考试成绩。而第一种设计模式可以存储为多次成绩 

  •   DBMS(Database Management System 数据库管理系统)和数据库

     平时谈到的“数据库“有两种含义:存放数据表的一个分类(Catalog);MSSQLServer、Oracle等某种DBMS

      其中MSSQLServery(与.net结合很好)只能运行在windows平台下,大数据量大交易表现并不是十分好,功能比MYSQL多(谷歌,facebook等都用MYSQL,因为其速度很快,而网站对数据库的功能反面要求也不是太高)

   ♦常见的错误理解:SQL(语言)<>SQLServer<>MSSQLServer

       说明SQL是结构化查询语言(Structured Query Language),SQLSever包括MSSQLSverver  Sybase,SQLServer

   ♦注意:除Access SQLServerCE、SQLLite等文件型数据库之外,大部分数据库都要在服务器才能运行

       ♦注意:要运行SQLServer首先要打开服务,怎么打开服务呢?

      方法一 点击开始-运行 输入services.msc 进入到计算机管理下的服务中,找到SQLServer(MSSQLServer) 将其设置为启动模式

      方法二 右键点击我的计算机进入到计算机管理下的选择服务选项,找到SQLServer(MSSQLServer) 将其设置为启动模式。

 

      

 

posted @ 2014-02-13 18:56  我叫小菜  阅读(225)  评论(0编辑  收藏  举报