数据库和实体数据模型

一直不太清楚数据库中的各个对象之间的关系

现在开始搞明白

1.第一个数据库的表和视图之间的关系

视图(View)是从一个或多个表(或视图)导出的表。视图与表(有时为与视图区别,也称表为基本表--Base Table)不同,视图是一个虚表,即视图所对应的数据不进行实际存储,数据库中只存储视图的定义,在对视图的数据进行操作时,系统根据视图的定义去操作与视图相关联的基本表。

视图是虚表,是从一个或几个基本表(或视图)中导出的表,在系统的数据字典中仅存放了视图的定义,不存放视图对应的数据。
      视图是原始数据库数据的一种变换,是查看表中数据的另外一种方式。可以将视图看成是一个移动的窗口,通过它可以看到感兴趣的数据。 视图是从一个或多个实际表中获得的,这些表的数据存放在数据库中。那些用于产生视图的表叫做该视图的基表。一个视图也可以从另一个视图中产生。
      视图的定义存在数据库中,与此定义相关的数据并没有再存一份于数据库中。通过视图看到的数据存放在基表中。
视图看上去非常象数据库的物理表,对它的操作同任何其它的表一样。当通过视图修改数据时,实际上是在改变基表中的数据;相反地,基表数据的改变也会自动反映在由基表产生的视图中。由于逻辑上的原因,有些视图可以修改对应的基表,而有些则不能(仅仅能查询)。

第二个数据库和实体数据模型

数据模型 (EDM) 是一个规范,用于定义由在 实体框架 基础上生成的应用程序使用的数据。使用 EDM 的应用程序在设计架构中定义应用程序域中的实体和关系。设计架构用于生成由应用程序代码使用的可编程类。在此模型中持久保留应用程序数据的存储结构由另一个架构(称为存储架构)表示。映射规范用于连接设计架构与存储架构。

由于可编程对象模型是从设计架构中生成的并且存储架构映射到设计架构,因此,映射规范可以有效地将可编程类连接到存储结构。由 EDM 定义的实体可以通过数据读取器以序列化格式读取,也可以具体化为对象。具体化的对象可以在 CLR 语言中进行编程,并可以更新以及保存,而不需要嵌入式 SQL 字符串或其他数据库语法。EDM 提供在 EDM 架构和映射规范中使用的基本实体和关系类型。开发人员可以根据需要扩展这些类型以支持应用程序设计。

用于管理应用程序中的数据的多个范例全部具有重要的优势。存储模型已经过优化,可以高效地进行存储和检索。XML 支持跨平台界限进行数据交换。面向对象的编程是用于开发应用程序的公认标准。这些模型都有用,但要在它们之间传输数据,可能需要与应用程序方案无关的多行代码。

数据模型可能是以统一建模语言 (UML) 或在白板上以图表进行的分析。无论采用哪种方法,都必须在概念上对数据类型、其属性、数据类型之间的关系、有关数据的约束等进行整理,然后才能在应用程序代码中实现它们。EDM 扩展了应用程序设计人员用来在开发过程中描述数据的模型,并提供了 XML 语法以便用示意图形式详细描述结果。

(自我理解:数据实体模型是可以在vs中直接调用实体模型,而不用调用数据库的连接)

时间: 2024-10-21 06:54:54

数据库和实体数据模型的相关文章

ADO.NET实体数据模型中关于数据库字段默认值的处理

无论是Visual Studio 2010或者2013内置的ADO.NET实体数据模型都有一个小问题:数据库中有些字段已设置了默认值,但ADO.NET实体数据模型工具并不会自动进行设置. 这时需要手工进行设置. 假设我们的SQL Server数据库中RegisterDate字段已设置了默认值getdate().用ADO.NET实体数据模型产生了edmx文件后,打开edmx文件,鼠标右击RegisterDate,选择属性菜单,在属性面板中修改StroreGeneratedPattern属性的值为C

Visual Studio2017中如何让Entity Framework工具【ADO.NET实体数据模型】支持MYSQL数据源

熟悉Entity Framework应该对以下图片不陌生,他就是ADO.NET实体数据模型向导:可以将数据库的表自动生成模型类,或者创建Code First的模型文件. 但是这个模型向导默认只显示微软自己的SQL Server数据源,如果想使用Mysql数据源,得做一些配置. 自己得解决方案如下: 1,导入Entity Framework 6.1.3. 这个是出现ADO.NET实体数据模型选项的前提.如果没有Entity Framework包,新建项菜单中没有ADO.NET实体数据模型选项. 6

[Programming Entity Framework] 第3章 查询实体数据模型(EDM)(一)

http://www.cnblogs.com/sansi/archive/2012/10/18/2729337.html Programming Entity Framework 第二版翻译索引 你可以使用各种方法查询实体数据模型.你选择有些方法是因为个人喜好,而其它的则是因为你可以利用特殊的效益.你很有可能已经听过LINQ to Entities和Entity SQL.你可以使用特殊的方法去查询,比如某些基于LINQ,而其它的基于EF的ObjectQuery类.这此查询方法中的每一个都会产生具

Ado.Net实体数据模型EF,如何在代码中添加数据库连接密码

在创建EF模型的时候,VS2013提示说“在连接字符串中存储敏感数据可能有安全风险”,于是我选择了在代码中添加,可是如何通过代码添加呢? 我在网上百度了下,没有人说的清楚直观. 假设我们创建了一个名字是“mytest”的实体数据模型,那么在项目中就会生成一个mytest.emdx,我们展开它mytest.emdx -> mytest.Context.tt -> mytest.Context.cs 在这个cs文件中我们能够看到一个构造函数,假设你的数据库名称是mydb,它的类名就是mydbEnt

《MVC+EF》——用DBFirst创建ADO.NET实体数据模型和对象关系映射

转载于:http://blog.csdn.net/zhoukun1008/article/details/50528145 现在越来越喜欢MVC了,不光是因为ITOO中用到了他,而是因为它里面包含了很多的知识点让我们去学习,我们的ITOO在服务端用到了EF和WCF,而对于MVC来说,他也可以与EF合作操作数据库,也可以像WebForm一样为用户显示数据.下面我总结一下用DBFirst来创建实体数据库模型. 1.新建ASP.NET MVC 4 Web 应用程序 2.创建空的模板 3.创建ADO.n

创建实体数据模型(EF基础系列5)

现在我要来为上面一节末尾给出的数据库(SchoolDB)创建实体数据模型: SchoolDB数据库的脚本我已经写好了,如下: USE master GO IF EXISTS(SELECT * FROM sys.sysdatabases WHERE name='SchoolDB') DROP DATABASE SchoolDB; GO CREATE DATABASE SchoolDB GO USE SchoolDB; GO --创建Standard表 IF EXISTS (SELECT * FRO

[ADO.NET 实体数据模型][新建]

1. Microsoft Visual Studio 2010 >> 添加 >> 新建项 >> 数据 >> ADO.NET 实体数据模型 2. 从数据库生成 >> 下一步 3. 新建连接 4. 选择 "服务器名" >> 选择 "数据库名" >> 确定 5. 下一步 6. 选择 "表" >> 完成 备注: a) App.Config 文件必须放置在 &q

Visual Studio 2010缺失ADO.NET 实体数据模型解决方法

解决方法如下:1).到 Visual Studio 2010 的安装包的目录:/WCU/EFTools 中寻找如下文件 ADONETEntityFrameworkTools_chs.msi;ADONETEntityFrameworkTools_chs.cab,将它 们复制自己计算机的某一目录下,例如:X:/EF2).在这个目录下创建文本文件Log.txt(下面命令里要使用到)3).运 行:Visual Studio 命令提示(2010)工具, 访问位置:开始菜单=>Microsoft Visua

Visual Studio 2013 EF5实体数据模型 EDMX 使用 T4模板生成后使用 ObjectContext对象

Visual Studio 2013 EF5实体数据模型 EDMX 使用 T4模板生成后的继承对象为DbContext,以前的熟悉的ObjectContext对象不见了,当然使用ObjectContext对象不是每个程序员都需要的,解决办法有两种: 方法1.打开Model.Context.cs,添加 public OracleModelEntities(ObjectContext objectContext, bool dbContextOwnsObjectContext)