第15课-数据库开发及ado.net-数据库介绍,主键,外键,启动数据库,数据库身份验证方式,建表,分离数据库
第15课-数据库开发及ado.net
数据库介绍,主键,外键,启动数据库,数据库身份验证方式,建表,分离数据库
1、 学习方法
2、 多涨见识
3、 比自己强的人一起,学习更强;比自己更聪明的人在一起,学习变得更聪明。
数据库Database 数据的仓库 DB 仓库管理员DBA
数据库的特点:海量存储、查找速度快、并发性问题控制、安全性、数据完整性。
DBMS(Database Management System 数据库管理系统)(*.mdf)
MYSQL、MSSQLServer、DB2(大型)、Oracle(大型)、Access(文件)、SQLite(极其轻量级数据库)、Sybase。
数据库中的概念:
Table(表):关系数据库中的[关系]指的就是表。
列(Column)、字段(Field)、行(Row)
对数据格式化,进行查找。
一个对象表示一行数据。(虚构成类,NEW一个对象,就一行数据。)
一张表可以表示一个集合。List
思考问题:不允许表中有重复的记录。
主键(Primary Key)数据库的一种约束。
主键是数据列的唯一标识,主键有两种选择策略:业务主键和逻辑主键。(推荐用逻辑主键:自动编号)
选择什么样的列作为主键:
- 不能为空的列
- 不重复的列
- 比较稳定的列
- 可选择多列为一个组合主键(建议尽量选择单列作为主键)
表间关联、外键(Foreign Key)冗余
实例:部门表的主键是:部门ID。员工表的主键是:成员ID,在员工表中有一列是引用部门表中的主键(部门ID),则我们称这列为“外键”,则员工表为外键表,部门表为主键表。
启动数据库(MSSQLSERVER)
1、 启用服务。在运行中输入:services.msc,然后在选择要启用的服务启动。
(net start/stop mssqlserver)
2、 打开ssms.Sql Server Management Studio 管理工具。(注意:这个工具仅仅是一个可视化的管理界面而已,并不是真正的数据库核心部分。)
数据库身份验证方式
当无法使用SQL server身份验证的时候的解决办法
1、尝试使用Windows身份验证方式登录
2、 选择“实例”(是一套数据库)→右键→属性→安全性→服务器身份验证→SQL server和windows 身份验证模式。
3、 重启数据库服务。(否则第二步设置无效:net start/stop mssqlserver)
4、 继续检查“实例”(是一套数据库)下的 安全性→登录名→sa(要使用的某个账户)是否可以使用。
如果当前帐号被禁用(有一个红色向下标志),则需要启用该账户。
账户名→右键→属性→状态→登录→启用。
5、 修改账户密码:
账户名→右键→属性→常规→修改密码→确定。
局域网使用数据库:(1433端口)
配置工具→SQL Server网络设置→“实例”协议→TCP/IP协议→启用
通过设计器建库-建表
MSSQLServer的每个数据库包含:
一个主数据文件(*.mdf)必须
一个事务日志文件(*.ldf)必须
可以包含:任意多个次要数据文件(*.ndf)和多个日志文件(*.ldf)
问题:当插入有误的时候,ID直接跳过,直接有序号5.
数据库中的数据类型-分离附加数据库:
Image类型=无限制的varbinary(max) 二进制流 可用来存储图像
char(10) 固定长度数据类型,最多只能存储10个。(例:性别,男女)
varchar(10)可变长度数据 类型,最多只能存储10个。(例:用户名)
nchar(10)
char(10) 【如果数据库的排序规则不是中文,则会出现乱码】
使用char存储中文字符可能产生乱码,则使用nchar则可以保证永远正常显示。
char(1) 一个字符占一个字节(例:“a”,“1”)半个中文字
char(2) 占用俩个字节(例:“aa”,“中”)
nchar(1)=char(2) 占用俩个字节(例:“a ”,“中”)
char()跟varchar() 最大长度是8000
nchar()跟nvarchar() 最大长度是4000
dateTime 年月日时分秒
date 年月日
time 时分秒
bit 布尔类型
第15课-数据库开发及ado.net-数据库介绍,主键,外键,启动数据库,数据库身份验证方式,建表,分离数据库的更多相关文章
- 第19课-数据库开发及ado.net ADO.NET--SQLDataReader使用.SqlProFiler演示.ADoNET连接池,参数化查询.SQLHelper .通过App.Config文件获得连接字符串
第19课-数据库开发及ado.net ADO.NET--SQLDataReader使用.SqlProFiler演示.ADoNET连接池,参数化查询.SQLHelper .通过App.Config文件获 ...
- 第20课-数据库开发及ado.net 可空值类型,资料管理器,多条件查询,Case
第20课-数据库开发及ado.net 可空值类型,资料管理器,多条件查询,Case SqlHelper using System; using System.Collections.Generic; ...
- 第18课-数据库开发及ado.net 连接数据库.增.删.改向表中插入数据并且返回自动编号.SQLDataReade读取数据
第18课-数据库开发及ado.net 连接数据库.增.删.改向表中插入数据并且返回自动编号.SQLDataReade读取数据 ADO.NET 为什么要学习? 我们要搭建一个平台(Web/Winform ...
- 第17课-数据库开发及ado.net 聚合函数,模糊查询like,通配符.空值处理.order by排序.分组group by-having.类型转换-cast,Convert.union all; Select 列 into 新表;字符串函数;日期函数
第17课-数据库开发及ado.net 聚合函数,模糊查询like,通配符.空值处理.order by排序.分组group by-having.类型转换-cast,Convert.union all; ...
- 第16课-数据库开发及ado.net-数据库SQl,创建数据库和表,增删改语句,约束,top和Distinct,聚合函数介绍
第16课-数据库开发及ado.net 数据库SQl,创建数据库和表,增删改语句,约束,top和Distinct,聚合函数介绍 SQL语句入门(脚本.命令) SQL全名是结构化查询语言(Structur ...
- 关系型数据库——主键&外键的
一.什么是主键.外键: 关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键 比如 学生表(学号,姓名,性别,班级) 其中每个学 ...
- 数据库开发及ADO.NET
大部分数据库都需要数据库服务器才能运行. Catalog(分类)又叫做数据库DataBase Table(表)不同类型的东西放到不同的区域中,将这种区域叫做表. 列(Column)字段Field 主键 ...
- SQL从入门到基础 - 01 数据库开发及ADO.Net
一.数据库概述 1. 用自定义文件格式保存数据的劣势:并发性差,查找数据的速度差. 2. DBMS(DataBase Management System数据库管理系统)和数据库.平时谈到“数据库”的含 ...
- 【数据库开发】Redis key-value内存数据库介绍
Redis是一个开源的,先进的 key-value 存储可用于构建高性能,可扩展的 Web 应用程序的解决方案.Redis官方网网站是:http://www.redis.io/,如下: Redis 有 ...
随机推荐
- 读取ViewBag匿名类
关于遍历 viewBag匿名类错误 EF tt生成的类 明明有值眼睁睁看着 却不认识 public ActionResult Index() { MyTestEntities1 db = new My ...
- STF环境搭建(ubuntu)
一,环境搭建 1. linux 一些基础的工具要有: sudo apt-get update sudo apt-get install git sudo apt-get install lib32st ...
- neo4j CQL 使用
neo4j CQL 使用 1. create命令 CREATE (emp:Employee) #创建一个emp 员工标签 CREATE (dept:Dept) #部门标签 #Added 1 label ...
- [leetcode.com]算法题目 - Same Tree
Given two binary trees, write a function to check if they are equal or not. Two binary trees are con ...
- python--partial偏函数
new_func = partial(函数名,参数), 生成一个新的函数, 新的函数中参数是partial固定时的参数 例1: from functools import partial def f ...
- [Ynoi2016]这是我自己的发明(莫队)
话说这道题数据是不是都是链啊,我不手动扩栈就全 \(RE\)... 不过 \(A\) 了这题还是很爽的,通过昨晚到今天早上的奋斗,终于肝出了这题 其实楼上说的也差不多了,就是把区间拆掉然后莫队瞎搞 弱 ...
- 对"某V皮"N服务器节点的一次后渗透测试
i春秋作家:jasonx 前言:由于这个VPN节点服务器是之前拿到的,一直没时间做进一步渗透,昨天看到我蛋总表哥发红包,然后我运气爆表抢了个运气王,再加上好久没发文章了,所以就抽空测试下咯. 0×01 ...
- 在matlab中实现线性回归和logistic回归
本文主要讲解在matlab中实现Linear Regression和Logistic Regression的代码,并不涉及公式推导.具体的计算公式和推导,相关的机器学习文章和视频一大堆,推荐看Andr ...
- (转)python之from_bytes、to_bytes
原文:https://blog.csdn.net/PYTandFA/article/details/78741339 https://python3-cookbook.readthedocs.io/z ...
- PHP:判断客户端是否使用代理服务器及其匿名级别
要判断客户端是否使用代理服务器,可以从客户端所发送的环境变量信息来判断. 具体来说,就是看HTTP_VIA字段,如果这个字段设置了,说明客户端使用了代理服务器. 匿名级别可以参考下表来判断. 给出一个 ...