数据库基础

什么是数据库 数据库Database:存储数据的仓库DB 随着电商的发展,仓库也越来越多的被大家所知道;关于仓库管理员的工作大家也有所了解 自古至今,都有很多种仓库:粮仓,弹药库等 仓库中还会有仓库管理员(DBA)对货物进行管理 从仓库中拿货物需要凭证,取货和进货的人(程序员)

我们怎么存储数据 发展历程:结绳记事-》文件存储-》计算机 对于数据不仅需要存储,更重要的是将数据进行存储以后怎么才能方便快捷的查询、修改 数据库特点:海量存储、查找速度快、并发性问题控制、安全性、数据完整性(保存在数据库中的数据是正确的,真实的) 高级应用:BI,专家系统,人工智能

数据库概述 DBMS(DataBase Management System,数据库管理系统)和数据库。平时谈到“数据库”可能有两种含义:MSSQLServer、Oracle等某种DBMS;存放一堆数据表的一个分类( Catalog ) 不同品牌的DBMS有自己的不同的特点:MYSQL(速度很快,适合对数据要求并不是十分严谨的地方,去掉了很多中小型企业中不常用的功能)、MSSQLServer(与.net结合很好,只能运行在windows平台下,大数据量、大交易量表现并不十分好)、DB2(大型)、Oracle(大型)、Access(文件)、 SQLite(极其轻量级数据库) 、Sybase等。对于开发人员来讲,大同小异 SQL(语言)<>SQLServer<>MSSQLServer。最常见的错误。 除了Access、SQLServerCE、SQLite等文件型数据库之外,大部分数据库都需要数据库服务器才能运行。学习、开发时是连接本机的数据库,上线运行时是数据库运行在单独的服务器

 

 

1、数据库简介 -》解决的问题:持久化存储,优化读写,保证数据的有效性 -》关系型数据库:  基于E-R模型(数据关系模型)  使用sql语言进行操作 -》分类:文档型sqlite,服务型 -》数据库设计  三范式:列不可拆分,唯一标识,引用主键  关系及存储:   1对1:1个对象A对应着1个对象B,1个对象B对应着1个对象A    关系可以存入A或B对象中(例如:国家规定的夫妻关系)   1对多:1个对象A对应着n个对象B,1个对象B对应着1个对象A    关系存入B对象中(学生和班级,一个班级可以有多个学生,但一个学生只许有一个班级)   多对多:1个对象A对应着n个对象B,1个对象B对应着m个对象A    关系存入新建的一个关系表中(学生和选课, 1个学生可以有多门选课,一门选课可以有多个学生)

2、登录方式 -》开启服务 -》登录方式及设置 -》添加用户名 -》连接局域网中的数据库:启用TCP/IP协议

3、界面操作 -》数据库:创建,删除,分离,附加,生成脚本(架构,数据) -》表:创建、修改、删除  字段类型介绍:int,bit,datetime,decimal(5,2),char/varchar/nvarchar  字符串类型n的区别:有n表示unicode编码,每个字符占一个字节;   没有n表示非unicode编码,英文或数字占一个字节,中文占两个字节  字符串类型var的区别:有var表示可变长度   没有var表示不可变长度,如果长度不够,会在末尾补空格  如果选择int值时,可以设置标识:此列的值为系统帮助维护,更轻松的实现唯一标识 -》约束:实现数据的有效性检查  主键,非空,惟一,默认,检查,外键 -》示例:  班级表ClassInfo(编号cId,名称cTitle nvarchar(10))  学生表(编号,姓名,性别,出生日期,电话,邮箱,班级)

4、脚本操作 -》不区分大小写,字符串使用单引号,末尾不需要加分号 -》按照功能分类:  DDL:数据定义语言,用于进行各种数据库对象的创建,主要操作包括create、alter、drop  DML:数据管理语言,用于对表数据的添加、修改、删除、查询,主键操作包括insert、update、delete、select  DCL:数据控制语言,用于进行权限分配等 -》注释:--单行注释,/**/多行注释 -》数据库:创建、删除  可以通过查看master数据库中的sysdatabases表,来了解当前存在的数据库  create database 数据库名  on primary  (   name='stuDB_data',  -- 主数据文件的逻辑名称   filename='D:\stuDB_data.mdf', -- 主数据文件的物理名称   size=5mb, --主数据文件的初始大小   maxsize=100mb, -- 主数据文件增长的最大值   filegrowth=15%--主数据文件的增长率  )  log on  (   name='stuDB_log',   filename='D:\stuDB_log.ldf',   size=2mb,   filegrowth=1mb  ) -》使用数据库:use 数据库名 -》表:创建、修改、删除  通过select * from sysobjects  where xtype='U'可以查看所有存在的表  多个列间使用逗号分隔  主键:primary key  非空:not null  惟一:unique  默认:default()  检查:check()  外键:foreign key(列名) references 表名(列名)

5、表数据的操作 -》简单查询:select * from 表名 -》增加数据:insert into 表名(列名) values(值)  说明1:要求值的列名与值要位置对应  说明2:如果所有更都插入值,可以省略列名部分  扩展:一次性增加多行,可以直接在values后面拼接多个数据,之间用逗号分隔 -》修改数据:update 表名 set 列名1=值1,列名2=值2... where ... -》删除数据:delete from 表名 where ...  清空:truncate table 表名  说明:from关键字可以省略不写  通常实现:逻辑删除,物理删除 -》常用辅助命令及快捷键  set statistics time on/off:在消息栏显示详细执行时间  ctrl+e执行  ctrl+r隐藏消息栏  ctrl+l计划任务,对sql语句进行分析

-》作业:科目表(编号,标题)  成绩表(编号,学生编号,科目编号,分数)  向表中插入一些示例数据

posted @ 2018-04-04 23:35  ParanoiaApe  阅读(100)  评论(0)    收藏  举报