了解及创建数据库

1、数据与数据库

什么是数据?

QQ号?游戏装备?存档?
用户信息,聊天记录(信息),图片,声音,视频,文件。

操作系统定义的数据:文件就是数据。

数据库定义的数据:信息记录,游戏账号信息,图片,声音,视频,文件。可以集中存储,分类,管理的信息。


什么是数据库?

数据库本身是一个文件,该文件以仓库的方式存储信息记录。


数据库管理系统?

用于创建,修改数据库,对数据信息进行查询,管理,统计等工作。
数据库管理系统是一个软件,用于管理数据库。


数据库系统?

通过软件(C语言,java等)调用数据库中的信息。


2、主流的数据库管理系统

sql server   微软,图形化操作,强大的模板功能和错误提示。

mysql     甲骨文公司收购oracle,开源数据库,小型数据数据库

oracle    甲骨文,面向行业开发。大型数据库

DB2       IBM公司,只能运行在IBM的小型机上,AIX系统。


3、数据库发展史

第一代:网状和层次

第二代:关系型

第三代:行业变化很大,面向不同领域的数据库
非关系型数据库,高速存储


4、关系型数据的规则

1.数据完整性规则:

实体完整性:设置表中的字段为主键,不能为空,不能重复

域完整性:字段完整性或列完整性,指定字段中的类型相同。

引用完整性:当两张表相互建立关系时,引用的字段中数据必须相同

自定义完整性:用户定义指定字段中的数据范围


2.数据库范式

建立数据库的规范格式

第一范式:将字段分割成不可分割的子项

第二范式:在满足第一范式后,每张表只记录一件事。用表把功能划分开。

第三范式:在满足第一第二范式后,当多张表建立引用关系时,尽量减少重复字段

5、非关系型数据库

解决大规模的数据集合,大数据的存储于应用。

1.column-oriented :面向检索的列式存储

存储时,按照字段的信息进行排列,提供快速查询功能。

2.key-value :键值式存储,面向高性能的并发式读写。

3.document——oriented:面向海量数据访问的文档存储


常用的非关系型数据库:

Hbase:列式存储

redis:键值存储

mongodDB:分布式文件存储

neo4j:图形数据库,将数据以节点方式表示,建立节点之间的关系


  数据库管理

1、系统数据库

master:存储数据库管理系统的结构,用户,密码,权限,其他数据库的结构与信息。

model:存储数据库中的模板

msdb:代理服务数据库,用于记录其他软件的功能,在数据库中调用,报警,任务调度。

tempdb:临时数据库,平时tempdb中是空的


2、数据库文件类型

主数据文件 .mdf : 包含数据库结构与信息
日志文件 .ldf :  包含所有事务日志,记录对库中数据的增加,修改,删除操作。

次要数据文件,辅助文件  .ndf :当主文件的数据写满时,多出的数据会写入的辅助文件中。辅助文件中没有数据库结构。

3、创建数据库

create database 数据库名
on primary    //主文件
(                                                                                                     
name='主文件逻辑名',
filename='路径\物理文件名.mdf', 
size=20Mb,    //起始空间容量
maxsize=200Mb,    //最大空间容量
filegrowth=5Mb    //空间增长率
)
log on          //开启日志文件
(
name='日志文件逻辑名',
filename='路径\物理文件名.ldf',
size=10Mb,
maxsize=100Mb,
filegrowth=5Mb
)


4、查看数据库信息
sp_helpdb  库名

exec sp_databases    //查看所有数据库名和已用空间

exec sp_helpdb 数据库名   //查看指定数据库的信息


5、扩展数据库

给数据库增加起始空间容量,或增加最大容量,添加辅助文件等操作。

数据库操作的命令体系

create  创建
alter   修改
drop    删除
insert  添加
update  更新
delete  删除
select  查询


给数据库增加起始空间:

alter database 库名
modify file
(
name='逻辑名',
size='起始空间容量',   //指定的数值不能与原有数值相同,或比原有数值小。
maxsize='最大空间容量'
)


6、收缩数据库文件:

use  数据库名        //连接数据库

DBCC  SHRINKFILE (N'逻辑名' , 剩余空间)

7、扩展数据库--添加辅助文件

alter database 数据库名
add file
(
name='逻辑名',
filename='路径\物理文件名.ndf'
)


添加辅助日志文件:

alter database 数据库名
add log file
(
name='逻辑名',
filename='路径\物理文件名.ldf'
)


8、删除辅助文件
只能删除未连接的,没有数据的辅助文件。

alter database 数据库名
remove file 逻辑名


    数据类型与创建表


1、分离和附加数据库

分离数据库:注销数据库管理系统只正在连接管理的数据库,用户可以复制或移动数据库物理文件。


EXEC sp_detach_db @dbname = N'库名'


附加数据库:在管理器中注册数据库,使管理器可以连接管理数据库。


create database 库名
on
(filename='路径\物理文件名.mdf'),
(filename='路径\物理文件名.ldf')
for attach


2、删除数据库

drop database 库名


3、数据类型

1.精准数字:
    整数型:bigint  8字节存储
        int    4字节存储
        smallint  2字节存储
        tinyint   1字节存储,0-255之间的正整数

    位数型:bit    只存储0  1  或null(是一个标记)
    
    小数型:decimal   格式:decimal(8,2)   8代表总长度  2代表小数点后面位数 
        numeric  

    货币型:money    8字节存储
    
        smallmoney  4字节存储
                           

2.近似数字:
    float :浮点数值  8字节存储
    real  :4字节存储

3.字符串:
    char:  固定长度的非Unicode字符,最大8000字符,当数据不满足定义长度时,添加空格进行占位。读写速度快,占用空间大。
    varchar: 不固定长度的非Unicode字符,最大8000字符,不添加占位空格。
    text:  存储大型的字符数据,20亿字符


4.unicode字符串:
    nchar:     固定长度,最大4000字符
    nvarchar:  不固定长度,最大4000字符
    ntext:     最大10亿字符


5.二进制字符串:
    binary:   以固定长度的二进制格式存储图片。
    varbinary:  以不固定长度的二进制格式存储图片。
    image:   存储大图片

6.日期时间型:
    date  : 日期,格式年-月-日,
    time  : 时间,小时:分钟:秒
    datetime : 日期时间   年-月-日 小时:分钟:秒


4、创建表

格式:

create  table  表名
(
字段名1  数据类型  约束,
字段名2  数据类型  约束,
......
)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值