黑马程序员—SQL系列 (一)

来源:互联网 发布:c语言进程的创建 编辑:程序博客网 时间:2024/05/01 18:17
---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ----------------------

前言:这里写的都是以SQLSERVER数据库为例,看上去可能会有些乱,可以通过目录来快速查阅

1.数据库概述

1.DBMS(DataBaseManagementSystem,数据库管理系统)和数据库。平时谈到“数据库”可能有两种含义:MSSQLServer、Oracle等某种DBMS;存放一堆数据表的一个分类(Catalog)
2.数据库的构成-管理软件/服务/数据文件(表,视图...)
3.不同品牌的DBMS有自己的不同的特点:MYSQL、MSSQLServer、DB2、Oracle、Access、Sybase等。对于开发人员来讲,大同小异
4.除了Access、SQLServerCE等文件型数据库之外,大部分数据库都需要数据库服务器才能运行。学习\开发时是连接本机的数据库,上线运行时是数据库运行在单独的服务器


2.为什么要使用数据库?

高效维护大量数据-检索/增/删/改
处理各个表之间的关系
压缩表数据
安全

3.SQLServer的管理


1.需要安装SQLServer2005或者SQLServer2008,若要使用SQLServer管理工具进行开发还要安装SQL Server Management Studio,还可以使用VisualStudio进行管理
2.使用免费的SQLServerExpress版本,Express版本的服务器名称. \SQLEXPRESS,对于开发人员来讲和其他版本没有区别
3.SQLServer的两种验证方式:用户名验证和Windows验证,开发时用Windows验证就行
4.查看表:SQLServer2008中:编辑200行;SQLServer2005中:打开表

4.数据库中的概念


Catalog(分类):(又叫数据库DataBase,表空间TableSpace),不同类的数据应该放到不同的数据库中
1.便于对各个Catalog进行个性化管理 
2.避免命名冲突
3.安全性更高
Table(表):书都放到书架上,碗都放到橱柜中,不同类型的资料放到不同的“格子”中,将这种区域叫做“表”(Table)。不同的表根据放的数据不同进行空间的优化,找起来也方便。

列(Column)

字段(Field)

记录(Record):记录有可以被称为行(Row),可以通俗的认为它是数据表中的一行数据

主键(PrimaryKey)

1.主键就是一个表中每个数据行的唯一标识。不会有重复值的列才能当主键。一个表可以没有主键,但是会非常难以处理,因此没有特殊理由表都要设定主键

2.主键有两种选用策略:业务主键和逻辑主键

业务主键是使用有业务意义的字段做主键,比如身份证号、银行账号等

逻辑主键是使用没有任何业务意义的字段做主键,完全给程序看的,业务人员不会看的数据。因为很难保证业务主键不会重复(身份证号重复)、不会变化(帐号升位),因此推荐用逻辑主键,如:自动增长主键和Guid

外键(ForeignKey):记录表与表的关联

索引(Index):索引可以提高数据查询的速度,减慢了数据插入和删除的速度。因为每次插入和删除的时候都需要更新索引

字段类型


常用字段类型:bit(可选值0、1)、datetime、int、varchar、
nvarchar(可能含有中文用nvarchar)、Nvarchar(50)、Nvarchar(MAX)
varchar、nvarchar 和char(n)的区别: char(n)不足长度n的部分用空格填充
Var:Variable,可变的

---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ----------------------
原创粉丝点击