SQL server 2008数据库学习手册第一天

并发性问题:两个访问对文件的修改应该保存哪一个。——对数据库某些数据加锁,排斥其他人的访问。
安全性问题:限制某些用户对某些特定数据的访问。
MYSQL:速度快,免费,对于网站来说比较好,但是牺牲了安全性和精准性。
MSSQL server与。net结合比较好,但是大数据不好。
大型数据库如:DB2,oracle。SQLITE轻型数据库。
大部分数据库都需要数据库服务器才能运行,学习、开发使用的是连接本机的数据库。上线运行时是数据库运行在单独的服务器上。
数据库的概念:
表:Table,不同货物要求放在不同的货架上,将这种区域称之为表。列Column,字段Field,行row。
表中不允许有重复的数据。怎么避免这个问题呢?
主键:Primary key是数据库的一种约束,表示数据行的唯一标识。不会重复的列才能当作主键。一个表可以没有主键,但是没有主键比较麻烦。
主键的设置:业务主键,如身份证号或者银行帐号,逻辑主键是使用没有任何业务意义的私自段做主键,主要是给程序看的。推荐采用逻辑主键,
选择怎么的列作为主键:
1,不能为空的列,
2,不重复的列。
3,比较稳定的列
4,建议一般选择单列作为主键
5,推荐采用的是逻辑主键。
外键:forreign key 解决数据冗余:一张表中引用了另一张表中的主键,那么在该表中被引用的主键就称之为外键。主外键可以关联表。


启动数据库:
1,首先启动服务:运行services.msc
2,找到SQL Server服务,主要看安装的实例是MSSQLSERVER还是SQLEXPRESS,前者是安装SQL Sever时默认安装的实例,后者是安装VS时给你安装的。右键 属性:启动类型:手动,将服务启动。(或者在cmd上运行 net start mssalserver开启服务,net stop mssqlserver关闭服务)
3,开始数据库:运行:ssms{这个实际上是数据库的一个可视化界面,真正的数据库只是在后台运行,不安装SSMS管理工具数据库仍然可以运行。只是看不到}
 




服务器名称:可视化工具将要连接在那个服务器上——可以连接本地的服务器,也可以连接局域网或者互联网的服务器。
可以填写计算机名字即可。标准化是:服务器名/实例名,例如:上海服务器IP地址\实例名


身份验证:
1,Windows身份验证方式:借用你当前操作系统的登陆账号进行登录。
2,SQL Server身份验证:制定一个用户名和密码。
==================SQL Server身份验证登不进去的解决办法=================
1,尝试使用Windows身份验证方式——实例名称单击右键——属性——安全性——看身份验证模式,调整两个都有的身份验证模式,只采用Windows身份验证是无法使用SQL SERVER身份验证登陆的
2,必须重启数据库服务
3,如果不能则检查(安全性)下的登录名——sa是否可用,如果不能则启用{账户名右键状态,登录,启用。可以在常规中修改登录密码}




================如果要开启联网登录数据库需要开启相应的TCP/IP服务============
1,数据库管理软件下的配置工具——配置管理器
2,SQL Server网络配置——相关实例下开启对应的TCP/IP服务
3,重启服务。


==================可视化界面创建数据库=============
数据库——右键——新建数据库
一个数据库当中至少包含一个主数据文件.mdf和一个日志文件*.ldf
一个数据库可以有多个次要数据文件*.ndf和多个其他日志文件*.ldf


!!!!!!!!!!!!!!!!不要在系统数据库中修改或者建立东西。!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!








=============================数据库第二天================


1,数据类型
image  存储二进制字节流,相当于varchar max 大小不限制
char(10) 固定数据类型 存储在数据库中的数据只能够存储固定字符,不够的以空格补齐
---占空间位置固定,比较浪费。长度固定的时候用char


nchar(10) 与char的区别:针对英语国家常常使用char,但是针对中国等汉语国家常常使用nchar
。——使用插入存储中文字符可能会产生乱码。


varchar(10) 可变长度数据类型,存储的数据长度随意,比较节省空间。
----长度不固定的时候用varchar。varchar效率比较低,但是损耗不大。


nvarchar(10)
varchar(max) 可以不限制长度
nvarchar(max)
text  这两种已经放弃
ntext  放弃


bit bool类型:true或者false










++++++++++++++++++SQL语句+++++++++++++++
SQL结构化查询语言,是关系数据库管理系统的标准语言。不同的DBMS都认可SQL语法。


=========================================================================================================
========================================================================================================
cmd-dir当前目录下所有的文件目录,clr清屏。
操作数据库和特特定的语言都没有关系。
所有的数据库都支持基本的SQL语句。每个数据库都有自己的扩展,TSQL是微软对数据库查询语句的扩展。
************************************************************
SQL语句大小写不敏感,不敏感指的是SQL关键字,字符串值还是大小写敏感的
*****数据库中的字符串都是用单引号,C#中字符串用的都是双引号。*****
数据库中连用两个单引号表示一个单引号:'',双引号只是普通字符
数据库SQL语言--双横杠表示注释。判断两个数据是否相等,使用单等号。






+++++++++++++++++++++++++++++++++++
--在数据库中sql语句代码不区分大小写,但是。。。。。
select * from.....




======================================================
通过SQL语句完成数据库相关的操作
=====================================================
1,SQL语言可以分为DDL数据定义语言,创建数据库,建表。
2,对表中数据的操作为DML数据操纵语言
3,DLC数据库控制语言,为数据库创建用户等。


点击新建查询开始写语句。


-----------------------------------------------------------------------------------------
1,创建数据库
creat database school;//创建了一个school的数据库
Nomal: creat database 数据库名称。
*****************************选中语句,对号检查,感叹号执行,然后刷新数据库即可以看见
------删除数据库
drop database 数据库名称;


------创建数据哭的时候制定一些选项
create database 数据库名称
on primary//配置主文件
(
  name='school',
  filename='F:\88\Documents\school.mdf',
  size=5MB,
  filegrowth=10MB文件将会每次增长10MB
  --filegrowth=10%--文件将会按照百分比增长。
  maxsize=100MB
 )
log on//配置日志文件
(
  name ='school_log',
  filename='F:\88\Documents\school.ldf',
  size=5MB,
  filegrowth=10MB文件将会每次增长10MB
  --filegrowth=10%--文件将会按照百分比增长。
  maxsize=100MB
 )




---------------------------------------------------------
在school数据库中创建一个学生表。Tblstudent
(在创建表之前一定要切换数据库,use school;)
create table Tblstudent
(
--表中列的定义在这对小括号中
   tSID int identity(1,1) not null primary key,
   tsname nvarchar(10) not null,
   tsgender bit not null,
tsaddress nvarchar(300) not null,
tsphone varchar(100) not null
tsage int,
tsbirthday datetime ,
tsCardID  varchar(18) not null,
tsclassID int not null
)








=============================数据库脚本的生成=========
数据库——右键——任务——生成脚本

你可能感兴趣的:(SQL server 2008数据库学习手册第一天)