.NET中资料库的设计与SQL

.NET中资料库的设计与SQL

 

 

ADO.NET设计

 

先来说说资料库的设计

主要涉及

 关联式资料库

资料库系统管理(DBMS

结构化查询(SQL

预储程序

 

一个资料库包含一个以上的资料表,每个资料表有很多记录

 

以下是一个小的范例

Salse 资料库有CustomersordersPruducts三个表

表与表之间都过主索引键进行关联。

而表之间的关联有:  一对多,多对一和多对多三种关系。

多对多的关系(是要产生中间的表格来对应其他两个,他们之间是不能直接关联的。)

 

资料库管理系统(DBMS)

 

主要两个重要的东西

 

资料

 

资料库引擎

 

 

资料库管理系统常见分类有

 

本机 和伺服器两种

本机DBMS资料库引擎在用户端,通常是免费的

伺服器 Server:伺服器资料库引擎是另外一个行程,通常是在另外一个主机上。

 

SQL(Structured Query Language)语法

 

Order BY排序方式(DESC从大到小,ASC从小到大)

DML(查询格式来撰写语句)

其他非查询式SQL命令(InsertUpdateDelete

 

DML的一些语句

    

     Select Count()as 别名

      Select AVG ( ) as 别名

      Select MAX( ) as 别名

      Form  表名

 

Joins  增加不同资料表的资料

 

 

select FristNameLastName

From Customers 

Inner Join orders On Customers.CID=Orders.CID

Where Orders.OID=1234;

 

Outer joins

 

将不符合条件的记录,使用outer Joins添加到记录中

 

 

 

预储程序(即为存储过程)

 

存储过程是

       可以接受参数

     可以传回资料

     预先编译,速度快

 

优缺点

  

执行快速

将复杂的SQL封装起来

提供另外一层的存取控制能力

大部分的资料库提供都支持

缺点

       

 每个资料库提供者的存储过程程序语法都不一样

       预存储程序不容易转换成为其他格式的程序

 

 

ADO.NET的设计

 

包含

ADO.NET架构

 

资料读取与写入

 

DataSet

 

工具

 

ADO.NET的架构是基于资料提供者之上的,资料提供者讲有关资料库存取的细节封装起来。

是用来存取资料库的物件集合。

 

核心命名空间有

 

一般: systen.data,

 SQL server: system.data.SQLclient

Oracle: system.data.oracleclient

OLEDB: system.data.Oledb

ODBc

 

资料的存取方式有四种

 

DataRead唯读存取

DataSet读写

ExecuteNOtquery修改资料库资料

ExecuteScalar()取得单一资料

 

 

DateReader 

 

是透过DataReader 物件可以逐一读取资料

DataReader是一笔笔的去读,根据要求,以串流的方式返回给用户端。

且占用资料连线,使用伺服端游标直接连线开关。

存取步骤

 

1 开放资料库连线

       建立连线物件,用Open方法,设定连线字符串

 

 

建立连线字符串,格式要根据不同的资料库而定。

 

2 进行资料库操作

     

  建立DataReader物件,并逐一读取。

 

3 开关资料库连线

 

资料修改

 

ExecuteNonQuery透过以下三中DML语法来修改资料库

Insert

Update

Delete

透过ExecuteNonQuery()方法回传修改的资料笔数。

 

DataSet  

 

是一个在记忆中的资料结构

用表格的方式存储。

 

 

 

DateaSEt相当于离线的Recordset

资料是由伺服端复制回来

然后再用户端离线处理资料

他允许你:

减少资料库服务器的负载

开关资料库连线,并且离线处理资料

还可以存储你想要处理的所有资料

可以搜索,排序,修改等。

特别是在分散式应用程序中特别有用。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值