数据库开发与ADO.NET (数据库开发与管理实训总结)

技术教程 2025-04-24 20:40:18 浏览

未来三天将给大家把数据库开发与ADO.NET基础过一遍,然后就讲呼叫中心那个项目。在数据库开发和ADO.NET这方面,我们主要讲解这些内容:

1、 从零基础将数据开发,怎么进行数据库操作以及一些常见的SQL语句

2、 接着就讲解ADO.NET,文件流的方式还有一种就是数据集的方式

在前面做那个“人力资源管理”那个小程序时我们自己写的数据,我们看看自己的写的数据库的弊端:

麻烦、效率低下,如果数据量非常大的情况下,你查找数据也非常的慢,你得一个个记录一个记录的找。如果你想把你的查询速度调高了,那么对你数据结构和算法的要求非常高。

并发性差,如果我们两个人同时修改数据库内容,会出现什么情况?各种情况,你想想两个人同时将数据写入这个文件。如果都是自己写数据那就是太痛苦了。这样就诞生了数据库这个东西

数据库概述

1、 用自定义文件格式保存数据的劣势

2、 DBMS(DataBase Management System,数据管理系统)和数据库。平时谈到“数据库”有两种含义:

3、 不同品牌的DBMS有自己的不同的特点:MySQL(速度非常快,但是不严谨,适用网站开发)、MS-SQL Server(结合.NET比较好)、DB2(大型数据安全性)、Oracle、Access(当文件来用)、Sybase-SQL Sever等。对开发人员来讲、大同小异

4、 SQL<>SQL Server<>MS-SQLServer。最常见的错误

5、 除了Aceess、SQLSeverCE等文件类型的数据库外,大部分数据库需要数据库 服务器 才能运行。学习、开发时是连接本机的数据库,上线运行时是数据库运行在单独的服务器。

数据库中的概念

数据库数据为什么要分成一个个小格子呢?

Catalog(分类)(专业说法)(又叫数据库DataBase、表空间TableSpace),不同类的数据应该放到不同的数据库中

Table(表),书放到书架上,碗放到橱柜中,不同类型的资料放到不同类型的格子中,将这种区域叫做表(Table)。不同的表根据放的数据不同进行空间优化,找起来也方便。

列(Column)、字段(Field)。

2011年10月入职,是产品开发部的,姓名马小虎

王二小,技术支持部,入职是2010年7月

姓名 马小虎 姓名 部门 入职时间

部门 开发部

入职时间 2008.06

其实就跟在前面学习C#一样,你如果用字符串来存储“2011年10月入职,是产品开发部的,姓名马小虎”,查找具体信息比如姓名,入职时间就比较累了,我们如果建立一个类来查找就相对来说方便许多。现在很多的表就像Excel数据分的很清楚。

比如我要建立一个管财务的数据,比如我要给别人发工资、报销,放到一个数据库里面。还有员工的管理,他的福利、入职、离职、社保、保险这些东西我也给他放到数据库里面。如果我把这些数据放到一个格子里面就很麻烦了。财务的数据和人力资源的数据都有人的描述。财务数据,我这个员工的银行账号是多少,开户行是什么?人力资源的数据,他的工号是多少?这些不同类型的数据放到一起肯定乱掉了。你想想,如果财务数据和人力资源数据放到一个格子里面?这样就出现了一个问题:管人力资源的人能够看到你财务的数据,我管财务的人也能看到你人力资源的数据,很不安全。一般财务数据在公司很保密的。所以呢,要将不同类型的数据放到不同数据库中。比如我们以后要开发人力资源系统就建立一个人力资源系统的数据库,开发一个OA系统就建立一个OA系统数据库。

先建数据库——建立表——分列

主键

避免重复

如果你公司有相同的名字的员工都叫,王小虎。那么要查找它的入职信息就会重复的情况。这样一般公司都会给你一个工号以用作区分。唯一标识一行数据,工号就是主键。

主键的两种使用策略:业务主键和逻辑主键。

业务主键,对业务来说有意义的主键,比如用他身份证号做主键,用银行账号做主键或用他的工号做主键,你想想什么什么号都是有意义的啊?

逻辑主键:没有业务意义的主键,比如我给每个员工分配一个流水号(计算机才能理解,完全给程序看,业务人员不会看的)

我现在主要推荐逻辑主键,因为业务主键很难保证不重复。比如你开发一个系统用身份证来作主键(有重复的嫌疑),电话号码(升位,之前加个8什么)。

逻辑主键是不给用户看到的

表间关联、外键(ForeignKey)

商品名

价格

生产厂家

厂家地址

厂家电话

大大香瓜子

大大食品厂

恰恰大街300号

010-123456

大大开心果

大大食品厂

恰恰大街300号

010-123456

苦咖啡

伊利工厂

内蒙古伊利路1号

随便

伊利工厂

内蒙古伊利路1号

冰工厂

伊利工厂

内蒙古伊利路1号

大家看上面一张表,我要记录产品中所有的信息,我就用这么一张Excel表把它记录下来,我这样记载信息的缺点就是数据重复,一旦我的厂家地址发生便更就要把所有厂家地址都改了,太痛苦了。如果放在数据库里面要更新的,很麻烦。所以,我们设计数据库的时候千万别这么设计。我们应该建立两张表,首先我给工厂编号,001和002两个工厂。我要更新厂家信息的时候也很方便。大家看,这样做有什么缺点,麻烦。但是麻烦归麻烦但是后面的数据库都是这样的

商品

价格

厂家编号

大大香瓜子

大大开心果

苦咖啡

随便

开发与ADO.NET

冰工厂

上表中的,厂家编号就是外键(Foreign Key)

编号

名称

地址

电话

大大食品厂

恰恰大街300号

010-123456

伊利工厂

内蒙古伊利路1号

上表中编号就是主键(Key)

原文链接:

【编辑推荐】


ADO.NET模型的作用是什么它有哪几种主要对象

主要有这几个:SqlConnect,SqlCommand,DataSet,SqlDataReader,SqlDataAdapter,这是对于Sql server数据库的,对于oracle数据库,access数据库,就把Sql换成Oledb。

ado.net的几个核心对象

展开全部3.1、DateSetDataSet 是 的非连接(断开)结构的核心组件。 DataSet 的设计目的很明确:为了实现独立于任何数据源的数据访问。 因此,结构可以用于多种不同的数据源,用于 XML 数据,或用于管理应用程序本地的数据。 DataSet 包含一个或多个 DataTable 对象的集合,这些对象由数据行和数据列以及主键、外键、约束和有关 DataTable 对象中数据的关系信息组成。 个人理解,我们在数据库中查出来的信息就放在dateset中。 dateset可以包含许多datatable。 3.2、Data Provider3.21、Connection 对象:提供与数据源的连接。 3.22、Command对象:用于访问数据、返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命令。 3.23、DataReader 对象:从数据源中提供快速的,只读的数据流。 3.24:、DataAdapter 对象提供连接 DataSet 对象和数据源的桥梁。 DataAdapter 使用 Command 对象在数据源中执行 SQL 命令,以便将数据加载到 DataSet 中,并使对DataSet 中数据的更改与数据源保持一致。 有了这几个对象,我们就可以利用它们操作数据库了,这些对象好比看守数据库的几个人,我们将他们买通了(声明并实例化),就可以对数据库中的数据进行操作了。

ado。net是干什么的,里面都有哪些对象呢,谢谢

是 Framework的一个组件。 它主要是与数据库打交道。 里面主要是连接数据库和实现数据的增、删、改、查。 对象:ADO CommandCommand对象可以使用数据库命令直接与数据源进行通信。 它的属性如下:Name:Command对象的程序化名称。 在代码中使用此名称来引用Command对象。 Connection:对Connection对象的引用,Command对象将使用该对象与数据库通信。 CommandType:Text | StoreProduce | TableDirect。 CommandText:SQL语句 | StoreProduce。 Parameters:命令对象包含的参数。 ADO connection4种数据库连接方式 dataadapterDataAdapter类表示的是一组数据库命令和一个数据库连接,它们用来填充DataSet对象和更新数据源。 DataAdapter属性SelectCommand:SelectCommand属性从数据源中检索行。 INSERTCommand:InsertCommand属性从DataSet中把插入的行写入数据源。 UpdateCommand:UpdateCommand属性从DataSet中把修改的行写入数据源。 DeleteCommand:DeleteCommand属性从数据源中删除行。 ADO dataReaderDataReader对象只能对查询获得的数据集进行自上而下的访问,但效率很高。 如果仅仅是访问数据的话,可以使用DataReader。 但DataReader要求一直连接,所以将结果的一小部分先放在内存中,读完后再从数据库中读取一部分,相当于一个缓存机制。 这对于查询结果百万级的情况来说,带来的好处是显而易见的。 DataReader对象有如下几个特点:1.快速访问数据。 由于DataReader对象是只进和只读的,所以开销相对较小,速度比DataSet快。 2.只进和只读。 不能处理数据,只能显示数据。 3.自己管理连接。 DataAdapter对象可以自动地打开和关闭连接,DataReader对象必须显式地打开和关闭连接。 4.使用较少地服务器资源。

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐