什么是行业标准数据库建模语言?
在任何人投票将其视为欺骗之前,请知道到目前为止我发现的每个问题都是关于有利于数据库建模的特定程序的问题。 我的问题是用于关系数据库建模的行业标准语言(如果有的话)是什么?
我知道 UML 总体上非常流行,特别是对于 OOP 建模,并且我当前正在阅读的书的作者(Davidson 的“Pro SQL Server 2005 数据库设计和优化”)使用 IDEF1X。 MS Visio 虽然支持 IDEF1X,但默认使用看似通用的建模语言,没有许多特定符号(称为“关系”符号集),但我知道 Visio 非常标准,因为它是 Office 套件的一部分。
那么,作为一名试图构建简历的暑期实习生,哪种建模语言将在未来的行业中最有用?
Before anyone votes to close this as a dupe, know that every question I found so far was a question about specific programs that are good for database modeling. My question is what is the industry standard language (if there is one) for modeling a relational database?
I know UML is very popular in general, especially for OOP modeling, and the author of the book I am currently reading ("Pro SQL Server 2005 Database Design and Optimization" by Davidson) uses IDEF1X. MS Visio, though it supports IDEF1X, defaults to what seems like a generic modeling language without many specific symbols (refered to as the "relational" symbol set), but I know Visio is pretty standard because it's a part of the Office suite.
So, as a summer intern trying to build my résumé, which modeling language will prove the most useful in the industry for the future?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
这就是实体关系图,简而言之ERD。
That would be Entity RelationShip Diagrams, in short ERD.
ERD 可能是使用最广泛的。 我还看到了 ORM 使用,尽管它不是特定于数据库的 - 它是关于构建一个事实的宇宙。
ERD is probably the most widely used. I've also seen ORM used, though it is not database specific- it is about building a universe of facts.
我一直知道某种形式的“实体关系图”(ERD) 作为数据库建模的标准。
这些图通常使用矩形来表示实体,并使用矩形之间的线来表示这些实体之间的关系。 还经常看到某种形式的符号以破折号和“鱼尾纹”的形式指示关系的基数(即一对一、一对多、多对多)。
I have always known some form of an 'Entity Relationship Diagram' (ERD) as the standard for modeling a database.
These diagrams generally use rectangles to represent entities and use lines between the rectangles to represent relationships between those entities. It's also common to see some form of notation indicating the cardinality of the relationship (i.e. one-to-one, one-to-many, many-to-many) in form of dashes and "crow's feet".
虽然 UML 不仅仅是 OOP 类建模,但实际上并没有一种标准语言。 Razzie 提到的 ERD 概念是你真正想要关注的,而不是试图在你的简历中添加面试官可能知道或不知道的东西。 面试官可能知道 UML 和 ERD,但可能不知道 IDEF1X。 他们知道工具和最终结果的名称,但很少关心图表结果是如何创建的。
There isn't really a standard language though UML is more than just OOP class modeling. The concept of an ERD as mentioned by Razzie is what you'd really want to focus on more than trying to add something to your resume that the interviewer may or may not know. Interviewers would know of UML and ERDs but may not know IDEF1X. They know of Tools and the names for the end results and care little about how the results for the diagrams are created.
这不是一个答案(希望没关系),但我想为你的学习欲望鼓掌。 我最近面试了一个职位,他们将成为基于数据库的应用程序的开发人员并对其进行报告。 我给了她一组简单的要求,并说“鉴于此,您将如何构建数据库对象?” 我只是在寻找一个简单的 ERD(或者哎呀,只是盒子和线条!或者表格和潜在字段的列表!)。 她甚至无法做到这一点——这个问题让她完全慌乱了。
未聘用,仅供记录。
所以我只是支持 ERD——它可能是最常见的一种,而且我还发现它对于非开发人员来说很容易理解。
This isn't an answer (hope that's OK), but I wanted to applaud you for your desire to learn. I recently interviewed someone for a position where they would be the developer for a database-based application as well as reporting on it. I gave her a simple set of requirements and said "Given this, how would you structure your database objects?" I was just looking for a simple ERD (or heck, just boxes & lines! Or a list of tables and potential fields!). She couldn't even do that - totally flustered by the question.
Not hired, for the record.
So I'm just seconding ERD - it's probably the most common one, and I've also found it's easy for non-developers to understand.
UML 可以完美地用于数据建模。 它比 EER 语言更具表现力,因此您可以用 UML 表达您可以用其他语言表达的所有内容。 此外,我认为使用相同的语言对应用程序的各个方面进行建模可以简化开发。
在我的大学,我们教授数据建模和“应用程序建模”的 UML
UML can be perfectly used for Data Modeling. It is more expressive than EER languages so you can express in UML all you could express with those other languages. Moreover, I feel that using the same language for modeling all aspects of the application simplifies the development.
In my university we teach UML for both, data modeling and "application modeling"
这将是 ERD……我将从行业标准数据模型开始。 例如,零售业的行业标准组称为 ARTS(零售技术标准协会),他们有一个几乎每个人都从其扩展的行业数据模型 (http://www.nrf-arts.org/DataModel/DataModelHome.htm)
It would be ERD.... I would start with the industry standard data models. For instance Retail's industry standard group is called ARTS (association of Retail technology standards) and they have an industry data model that almost everyone extends from (http://www.nrf-arts.org/DataModel/DataModelHome.htm)