1 数据库概述 Database

定义:数据的仓库;其实就是文件;DBMS(数据库管理系统)\RDBMS
数据库特点:海量存储、查找数据快、并发性问题控制、安全性、数据完整性(保存在数据库中的数据是正确的、真正的)

数据库分类:

  1. MySQL:速度很快,适合对数据要求并不是十分严格的地方,去掉了很多中小型企业中不常用的功能;
  2. MSSQLServer:与.Net结合很好,只能运行在windows平台下,大数据量、大交易量表现并不是十分好,功能比MySql多;
  3. 其他:DB2(大型)、Oracle(大型)、Access(文件)、SQLite(及其轻量级)、Sybase等。

1.1 数据库中的概念

1 数据库Database,不同类的数据应该放到不同的数据库中

  1. 便于对各个数据类别,进行个性化管理
  2. 避免命名冲突
  3. 安全性更高

2 Table(表):关系数据库中的【关系】指的就是表

不同的货物要放到各自的货物架,将这种区域叫做“表”(Table)。不同的表根据放的数据不同进行空间的优化,找起来方便

3 列(Column)、字段(Field)、行(Row)元组

4 用表格格式化数据:即便是引入了自动识别设备也是很容易识别

2 主键(Primary Key)

主键就是数据行的唯一标识,不会重复的列才能当主键。一个表可以没有主键但是会难以处理,因此没有特殊理由的表都要设定主键;
主键有两种选择:业务主键和逻辑主键;
业务主键是使用有业务意义的字段做主键,比如省份证号、银行卡号等;
逻辑主键是使用没有任何业务意义的字段做主键,完全给程序看,业务人员不会看的数据。因为很难保证业务主键不重复、不会变化,因此推荐使用逻辑主键;

特点:不能重复 、 不能为空null

选择主键的时候,根据列存储的信息不同,可分为:业务主键、逻辑主键(推荐使用逻辑主键)

总结:选择什么样的列作为主键:

  1. 不允许为空的列
  2. 没有重复的列
  3. 与实际业务没有关系的列(逻辑主键)
  4. 稳定的列(列中保存的数据不经常修改)
  5. 选择单列作为主键(当通过多列共同唯一标识表中一条记录时,此时可以选择多列来工作组成一个主键,这种主键叫做:组合主键、复合主键、复合主键、联合主键)一般不推荐使用组合主键。
  6. 尽量选择数字类型作为主键,不要选择字符串,或者数据类型比较大的列做作为主键

3 外键(ForeignKey 数据冗余)

数据冗余问题

  1. 造成了存储空间的浪费
  2. 更新异常、删除异常
    所以一般情况下不允许在表中出现数据冗余。
    解决方法:
    把原来表中的数据拆分成多个表来存储。
    当把表中的信息拆分成多个表来存储的时候会有一些问题:如何将这两张表中的数据关联起来?答:使用主键和外键来进行关联。使用主外键就能将不同表中的数据关联起来。
    什么是外键,如何通过主外键将表中的数据关联起来?
    当把数据拆分成两张表来存储的时候,每个表中都有自己的主键。
    其中一张表中,除了主键外,又多了一列,这列用来引用另一张表中的主键,那么这列就是第一张表中“外键列”,有外键列的表就叫做“外键表”,相对来说,主键被引用的那张表就叫做“主键表”
    因为外键列中引用的是另外一张表中的主键列的数据,所以外键列中的数据是不能随便写的,必须是在另外一张表中的主键列中已经存在的数据。

4 链接数据库服务

  1. 打开服务,在运行中输入“services.msc”
  2. 启动服务
  3. 打开 SQL Server Management Studio
print @@version  --查看数据库版本信息

安装好数据库以后怎么启用sa账号,来访问数据库?
1、先用window账号登陆数据库;
2、启用windows身份验证方式和sql server身份验证方式
2.1 选择【实例】-右键【属性】-【安全性】-【服务器身份验证】-【sql server和windows身份验证(选中)】-确定-重启SQL Server服务。
3、 启用sa账号;
【安全性】-【登陆名】-【sa】-【右键】-【属性】-【状态】-【登陆】-【启用】
4、修改sa密码
【安全性】-【登陆名】-【sa】-【右键】-【属性】-【常规】-【改密码】(不要勾选“强制密码策略”)-【确定】

5 卸载Sqlserver数据库

5.1 先卸载

带sqlserver全卸载

5.2 删除安装目录

5.2 注册表中删除


【HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server】删除
【HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server 2008】 等全部删除

6 数据库的迁移

  1. 首先找到数据库文件所在路径


2. 数据库分离操作
方法:选中要分离的数据库->鼠标右击->选择【任务】->【分离】->选中【删除连接】复选框->【确定】

  1. 附加数据库
    方法:选中数据库->鼠标右击->选择【附加】

    ** 如果附加失败,需要修改数据库文件 的权限

SQLServer数据库基本操作(一)相关推荐

  1. SQLServer数据库基本操作

    --[1]指向主数据库 use master go--[2]创建数据库(创建之前判断要创建的数据库是否存在,若存在就删除) if exists(select *from sysdatabases wh ...

  2. python调用pymssql包操作SqlServer数据库

      之前的文章介绍了python抓取网页数据并将数据保存到本地excel文件,后续可以将数据保存到数据库(SqlServer.mysql等)中,本文学习python中操作SqlServer数据库的基本 ...

  3. 在SQLserver数据库里设置作业的步骤

    在SQLserver数据库里设置作业(对数据库的表定期进行数据清理)的步骤 1.首先,要打开sql server代理的服务,在我的电脑,右键管理的服务打开,SQL Server 代理 (MSSQLSE ...

  4. 获取SQLServer数据库中所有表

    对于获取SQLSERVER数据库中所有表,首先第一步引有SQLDMO.dll 找到文件路径: C:\Program   Files\Microsoft   SQL   Server\80\Tools\ ...

  5. nodejs操作sqlserver数据_pyspark操作MySQL、SQLServer数据库进行数据处理操作

    欢迎访问本人的CSDN博客[Together_CZ],我是沂水寒城. https://yishuihancheng.blog.csdn.net 在大数据处理领域里面,Hadoop和spark可以说是最 ...

  6. sqlserver在linux数据备份,SQLServer数据库之sqlserver for linux自动备份数据库脚本

    本文主要向大家介绍了SQLServer数据库之sqlserver for linux自动备份数据库脚本,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助. 不多说直接上脚本 # ...

  7. 简单的3个SQL视图搞定所有SqlServer数据库字典

    此文系转载,并非本人原创. 网上有很多SQL SERVER数据库字典的SQL语句,七零八落,我在工作整理了一下思路,总结SQL代码如下.数据库字典包括表结构(分2K和2005).索引和主键.外键.约束 ...

  8. SqlServer 数据库 建立子账号

    2019独角兽企业重金招聘Python工程师标准>>> 打开sqlServer数据库   点击安全性,点击登录名,可以看到现在数据库的所有子账号,右击登录名,点击新建登录名 创建登录 ...

  9. c语言 mysql_bind,C语言连接SQLSERVER数据库

    第一步:配置ODBC.在配置ODBC时有用户DSN.系统DSN.和文件DSN三种方法,为了稳妥起见,采用系统DSN. DSN的名字叫LocalServer,帐号:sa,密码123456 第二步:打开V ...

最新文章

  1. 新春祝福必杀计之发送短信攻略
  2. Comparison of long-read sequencing technologies in the hybrid assembly of complex bacterial genomes
  3. WPF .NET 4.0 OpenClipboard 失败 (异常来自 HRESULT:0x800401D0 (CLIPBRD_E_CANT_OPEN)) BUG解决
  4. PPT,别让我们走错路
  5. superset可视化-Pie Chart(圆饼图)
  6. ASP.NET MVC实践系列6-Grid实现(上)
  7. Java Thread 总结
  8. python的pass语句_适用于pass语句的Python程序
  9. Android App内存优化之图片优化
  10. Linux查看网络连接数,统计网络连接数(netstat、Apache连接数)
  11. Android JNI学习(五)——Java与Native之间如何实现相互调用
  12. mysql执行语句出来全是问号_为什么mysql运行代码后结果栏中的中文全部变成问号?...
  13. 16张精美的数据可视化,带你走进它的前世今生
  14. 【Angular 4】依赖注入
  15. Xamarin开发Android---提示、跳转、传递数值 (学习总结)
  16. MySQL基本知识笔记
  17. dp和px,那些不得不吐槽的故事——Android平台图
  18. 2021-12-22 AndroidR 电池信息 简单分析记录
  19. 第二讲 Java语言概述
  20. CADD课程学习(13)-- 研究蛋白小分子动态相互作用-I(GROMACS)

热门文章

  1. Win7企业版安装vs2013
  2. 嵌入式系统的体系结构 图解
  3. MATLAB遗传算法求解超市物流配送选址问题实例
  4. 雷达覆盖 ssl 1232 计算几何
  5. RIB表与FIB表、ARP表与FDB表
  6. c语言考试的说说带图片致自己,高中生超励志的正能量短语说说带图片致自己...
  7. 国产化适配之人大金仓数据库(二)数据迁移
  8. LabVIEW编程LabVIEW控制NI cRIO-9066例程与相关资料
  9. 报表生成器FastReport .Net报表的使用原则
  10. 大数据运营过程中存在哪些问题?