当前位置:Gxlcms > 数据库问题 > 数据库开发及ADO.NET

数据库开发及ADO.NET

时间:2021-07-01 10:21:17 帮助过:19人阅读

数据库管理系统(DBMS)特点

  • MySQL
    • 速度快,适合对数据要求并不是十分严谨的地方,去掉了很多中小型企业中不常用的功能
  • MSSQLServer
    • 与.net结合很好,只能运行在windows平台下,大数据量、大交易量表现不够好,功能比MySQL多
  • DB2(大型)、Oracle(大型)、Access(文件)、 SQLite(极其轻量级数据库) 、Sybase等
    • 对于开发人员来讲,大同小异
    • 除Access、SQLServerCE、SQLite等文件型数据库外,大部分数据库需数据库服务器才能运行。学习开发时连接本机数据库,上线时数据库运行在单独的服务器
    • SQL(语言)<>SQLServer<>MSSQLServer

数据库:数据的仓库

  • 数据库文件
    • 数据库包含两个文件:主数据文件(.mdf)、日志文件(.ldf)
      • 除此之外还可包含:次要数据文件(.ndf)、其他日志文件(.ldf)
    • 数据库文件的分离和附加
      • 当前数据库中的表必须先进行分离才能拷贝到其他目录
      • 附加数据库文件,文件数据加载到该库下的表
        • 脱机、联机更加简便高效
        • 附加权限不足时:数据库文件->属性->安全性->编辑->添加“everyone”->允许->应用->确定
  • 表:关系表,排货架
    • column:列,字段
    • row:行,元组
    • primary key:主键,唯一标识表中的一条记录
      • 分类:业务主键、逻辑主键(推荐)
      • 选择依据
        • 不能重复
        • 不能为空或null
        • 稳定的列:保存的数据不经常改变
        • 与实际业务没有关系的列
        • 单列作为主键(不推荐组合主键)
        • 优先选择数字类型的列(不推荐字符串和数据类型大的列)
      • 表中只能有一个主键
        • 建立主键后默认会建立索引,磁盘储存顺序和主键列保持一致,因为实际物理顺序只有一种,所以一个表中只能有一个主键
    • 外键
      • 外键列:把数据拆分成两张表时每个表中都有自己的主键,其中一张表除主键外多了一列,这列用来引用另外一张表中的主键,这列就是第一张表的“外键列”
        • 外键列中的数据必须是在另一张表的主键列中已经存在的数据
      • 外键表:有外键列的表就叫做“外键表”
      • 主键表:主键被引用的那张表就叫做“主键表”
  • 数据冗余
    • 问题
      • 造成存储空间浪费
      • 更新异常、删除异常
    • 解决
      • 把原来表中的数据拆分成多个表来存储
        • 新问题
          • 如何将这两张表中的数据关联起来
            • 使用主外键将不同表中的数据关联起来
  • sql server中的常用数据类型
    • image类型
      • 用来存储byte[]
    • 字符串类型
      • char、nchar、varchar、nvarchar、text、ntext、varchar(max)、nvarchar(max)
    • 带n和不带n的区别
      • 不带n的数据类型,存储中文等双字节字符,占用2个字节;存储英文,数字等每个字符占用1个字节
        • 不带n的这些数据类型,长度最长可以设置为8000
      • 带n的,无论存储中文、英文还是数字等,每个字符都是占用2个字节
        • 带n的这些数据类型,长度最长可以设置为4000
    • 带var和不带var的区别
      • 带var的表示可变长度
        • 可变长度会根据实际存储数据大小动态重新分配存储空间,节省存储空间
      • 不带var的表示固定长度,不够的自动补空格
        • 不用重新计算分配存储空间,更加高效
    • text|ntext、varchar(max)|nvarchar(max)区别
      • 前者为老版本数据库中的数据类型(2005之前)
      • 单列最多可存储4G大小,多用于论文等的存储
    • 帮助->索引->输入“数据类型”->SQL server数据类型中查看
  • 设置数据更改保存权限
    • 工具->选项->Designers->“阻止保存要求重新创建表的更改”去掉钩

数据库开发及ADO.NET

标签:长度   企业   字符串类型   表示   其他   仓库   one   如何   附加   

人气教程排行