C#基于数据库开发的数据库基础1

SQLServer数据库基本概念

应用程序开发=数据库数据存储 + 应用程序

目录

  1. 数据库安装
  2. 数据的实例
  3. 登录数据库
  4. 数据库的登陆 模式
  5. 数据库sql server身份认证模式下sa账号密码的修改和设置
  6. 登陆服务器错误常用的排错方法
  7. sql server数据库的类型
  8. 数据库的文件类型及使用规则
  9. 数据库学习T-SQL脚本创建数据库和数据表及常见使用情况

数据库分类:
关系型数据库:sql server数据库
非关系型数据库:主要用于集群和分布式应用等
1、数据库安装

一般都是客户端(Microsoft SQLserver management studio)和服务器(SQL服务,也叫引擎)同时安装
2、数据库的实例

如果电脑上只安装一个版本的数据库或者首次安装数据库,建议使用默认实例
3、登录数据库

  • 在默认实例下:服务器名称用电脑名称也可以用点“ . ”来代替
  • 在命名实例下:服务器名称用电脑名称或者 IP地址
  • 使用:
    • 本地连接条件下都可以使用。
    • 但是在远程连接(局域网连接下)就用IP地址,同时注意防火墙的配置,默认使用1433端口
    • 命名:IP/实例名

4、数据库登录模式

  1. SQLserver身份认证:登录名+密码(sa超级账号能访问所有数据库)
  2. Windows身份认证:安装数据库的时候,数据库系统默认能够登录Windows操作系统的账号就能登录数据库**

5. 数据库sql server身份认证模式下sa账号密码的修改和设置
3. 安全性—》登录名—》sa账号右键属性—》常规密码和确认密码,强制实施密码策略
4. 。。。。。。。。。。。。。。。。。—》状态勾选授予和启用
5. 根服务器名右键属性—》安全性—》服务器身份验证下—》将认证改为SQLserver和Windows混合身份认证
6. 根服务器右键—》重新启动即可

6、登陆服务器错误常用的排错方法

  1. 本地连接:检查服务是否启动;在检查实例名称是否写错,若两者都没有问题一般问题皆可以排除
  2. 远程(局域网)连接:检查IP和端口(是否正确、占用、防火墙屏蔽等);方式:IP,端口号

7、sql server数据库的类型

系统数据库

  1. master(系统数据库):用来管理数据库的,数据库的数据库
  2. tempdb(临时数据库):存放临时信息,如临时表等
  3. msdb(备份数据库):备份任务、信息等
  4. model(模板数据库):为数据库创建提供统一模板

用户数据库

  1. 数据库关系图:以图形的形式来表示表间关系及约束
  2. 表:所需要的存储业务
  3. 视图:
  4. 可变成性:存储过程和触发器
  5. 安全性:dbo(database owner),数据库操作的最高权限
    sa之所以能够操作所有数据库,是因为在创建的时候默认在所有数据库中创建了dbo用户
    数据库登录账号和数据库用户关系:一对多

8. 数据库的文件类型及使用规则

  1. .mdf:主数据文件,数据库中有且仅有一个
  2. .ndf:次数据文件,在数据库中可以有多个也可以没有,并且可以分配到不同的磁盘中
  3. .ldf:日志文件,在数据库中至少有一个

9. 数据库学习T-SQL脚本创建数据库和数据表及常见使用情况

  1. 创建数据库
--指向系统数据库
use master
go

--查询是否存在数据库
if exists(select * from sysdatabases where name='StudentManagerDB')
	drop database StudentManagerDB
--创建数据库
create database StudentManagerDB
	on primary
	(
		name='StudentManagerDB_data',  --数据库系统使用,必须唯一
		filename='D:\DB\ StudentManagerDB_data.mdf',   --操作系统使用,指定绝对路径
		size=20mb,
		filegrowth=20%    --增长最好不要处罚
	)
	,
	(
		name='StudentManagerDB_data1',
		filename='D:\DB\StudentManagerDB_data1.ndf',
		size=10mb,
		filegrowth=20%
	)
	log on
	(
		name='StudentManagerDB_log',
		filename='D:\DB\StudentManagerDB_log.ldf',
		size=10mb,
		filegrowth=20%
	)
	go		

  1. 创建数据表
--指向StudentManagerDB数据库
	use StudentManagerDB
	go

	--查询数据库中要创建的表是否存在
	if exists(select * from sysobjects where name='Students')
	drop table Students
	go

	--创建Students表
	create table Students
	(
		--格式:列名 数据类型(数据长度)列的特征
		StudentId int primary key,
		StudentName varchar(20) not null,
		ClassName varchar(10) not null,
		ClassId int not null 
	)
	go

	--查询是否存在StudentClass表
	if exists(select * from sysobjects where name='StudentClass')
	drop table StudentClass
	go
	--创建StudentClass表
	create table StudentClass
	(
		--格式:列名 数据类型(数据长度)列的特征
		ClassId int primary key,
		ClassName varchar(20) not null
		
	)
	go

	--在Students中创建外键约束
	if exists(select * from sysobjects where name='fk_ClassId')
	alter table Students drop constraint fk_ClassId
	alter table Students add constraint fk_ClassId foreign key(ClasssId) references StudentClass(ClassId)
	go

3、 额外补充

  • 建库—建表—建约束—插入数据验证
  • 在指定的数据库中创建多张表(相互关联),在表中创建约束表建完以后再建约束, 每张表都应该有主键,如果找不到充分的列就要标识列(identity)
  • 标识列:数据库系统自己维护,数据时自动生长的,删除后不会补充,通常不能显示的修改和添加这些列
  • 特殊的情况:有一列唯一键,但是这些列都是字符串,为提高查询速度,可以继续使用标识列
  • identity(标识种子,标识增量):
    标识种子:标识列的初始值
    标识增量:每次增长的大小
  • 标识列的使用要在设计数据库的使用时统一规划,不同的表中的标识列要有所区分
  • 补充:GUID的使用

你可能感兴趣的:(数据库,.NET全栈开发技术,SQLServer数据库原理,SQLserver,数据库,C#)