Content deleted Content added
Citation bot (talk | contribs) Misc citation tidying. | Use this bot. Report bugs. | Suggested by AManWithNoPlan | #UCB_CommandLine |
mNo edit summary |
||
Line 1:
{{Short description|Model that organizes elements of data and how they relate to one another and to real-world entities.}}
{{For|the professional activity|data modeling|database design}}
A '''data model'''
The term '''data model''' can refer to two distinct but closely related concepts. Sometimes it refers to an abstract formalization of the [[Object (philosophy)|objects]] and relationships found in a particular application ___domain: for example the customers, products, and orders found in a manufacturing organization. At other times it refers to the set of concepts used in defining such formalizations: for example concepts such as entities, attributes, relations, or tables. So the "data model" of a banking application may be defined using the
[[File:Data modeling context.svg|thumb|360px| Overview of a data-modeling context: Data model is based on Data, Data relationship, Data semantic and Data constraint. A data model provides the details of [[information]] to be stored, and is of primary use when the final product is the generation of computer [[software code]] for an application or the preparation of a [[functional specification]] to aid a [[computer software]] make-or-buy decision. The figure is an example of the interaction between [[business process modeling|process]] and data models.<ref name="SS93">Paul R. Smith & Richard Sarfaty Publications, LLC 2009</ref>]]
Line 43:
In the 1960s data modeling gained more significance with the initiation of the [[management information system]] (MIS) concept. According to Leondes (2002), "during that time, the information system provided the data and information for management purposes. The first generation [[database system]], called [[Integrated Data Store]] (IDS), was designed by [[Charles Bachman]] at General Electric. Two famous database models, the [[network data model]] and the [[hierarchical data model]], were proposed during this period of time".<ref>Cornelius T. Leondes (2002). ''Database and Data Communication Network Systems: Techniques and Applications''. Page 7</ref> Towards the end of the 1960s, [[Edgar F. Codd]] worked out his theories of data arrangement, and proposed the [[relational model]] for database management based on [[first-order logic|first-order predicate logic]].<ref>''"Derivability, Redundancy, and Consistency of Relations Stored in Large Data Banks"'', E.F. Codd, IBM Research Report, 1969</ref>
In the 1970s [[
In the 1970s [[G.M. Nijssen]] developed "Natural Language Information Analysis Method" (NIAM) method, and developed this in the 1980s in cooperation with [[Terry Halpin]] into [[Object-Role Modeling]] (ORM). However, it was Terry Halpin's 1989 PhD thesis that created the formal foundation on which Object-Role Modeling is based.
Line 69:
; [[Relational model]]
: is a database model based on first-order predicate logic. Its core idea is to describe a database as a collection of predicates over a finite set of predicate variables, describing constraints on the possible values and combinations of values. The power of the relational data model lies in its mathematical foundations and a simple user-level paradigm.
; [[
: Similar to a relational database model, but objects, classes, and inheritance are directly supported in [[database schema]]s and in the query language.
; [[
: A method of data modeling that has been defined as "attribute free", and "fact-based". The result is a verifiably correct system, from which other common artifacts, such as ERD, UML, and semantic models may be derived. Associations between data objects are described during the database design procedure, such that normalization is an inevitable result of the process.
; [[Star schema]]
Line 90:
A data structure diagram (DSD) is a [[diagram]] and data model used to describe [[Conceptual schema|conceptual data models]] by providing graphical notations which document [[entity class|entities]] and their [[Relational model|relationship]]s, and the [[Integrity constraints|constraint]]s that bind them. The basic graphic elements of DSDs are [[box]]es, representing entities, and [[arrow]]s, representing relationships. Data structure diagrams are most useful for documenting complex data entities.
Data structure diagrams are an extension of the [[
There are several styles for representing data structure diagrams, with the notable difference in the manner of defining [[Cardinality (data modeling)|cardinality]]. The choices are between arrow heads, inverted arrow heads ([[
[[File:B 5 1 IDEF1X Diagram.jpg|thumb|240px|left|Example of an [[IDEF1X]]
===
{{main|
An
There are several styles for representing data structure diagrams, with a notable difference in the manner of defining cardinality. The choices are between arrow heads, inverted arrow heads (crow's feet), or numerical representation of the cardinality.
Line 105:
A data model in [[Geographic information system]]s is a mathematical construct for representing geographic objects or surfaces as data. For example,
* the [[vector graphics|vector]] data model represents geography as points, lines, and polygons
* the raster data model represents geography as cell matrixes that store numeric values;
* and the [[Triangulated irregular network]] (TIN) data model represents geography as sets of contiguous, nonoverlapping triangles.<ref>Wade, T. and Sommer, S. eds. ''[http://store.esri.com/esri/showdetl.cfm?SID=2&Product_ID=868&Category_ID=49 A to Z GIS]''</ref>
Line 158:
** ''cost'': the cost incurred in obtaining the data, and making it available for use.
=== Data organization ===
Another kind of data model describes how to organize data using a [[database management system]] or other data management technology. It describes, for example, relational tables and columns or object-oriented classes and attributes. Such a data model is sometimes referred to as the ''[[physical data model]]'', but in the original ANSI three schema architecture, it is called "logical". In that architecture, the physical model describes the storage media (cylinders, tracks, and tablespaces). Ideally, this model is derived from the more conceptual data model described above. It may differ, however, to account for constraints like processing capacity and usage patterns.
Line 193:
For example, in the [[relational model]], the structural part is based on a modified concept of the [[Relation (mathematics)|mathematical relation]]; the integrity part is expressed in [[first-order logic]] and the manipulation part is expressed using the [[relational algebra]], [[tuple calculus]] and [[___domain calculus]].
A data model instance is created by applying a data model theory. This is typically done to solve some business enterprise requirement. Business requirements are normally captured by a semantic [[logical data model]]. This is transformed into a physical data model instance from which is generated a physical database. For example, a data modeler may use a data modeling tool to create an [[
=== Patterns ===
Line 215:
According to Lee (1999)<ref name="Lee99"/> an information model is a representation of concepts, relationships, constraints, rules, and [[Operation (mathematics)|operations]] to specify [[Semantic data model|data semantics]] for a chosen ___domain of discourse. It can provide sharable, stable, and organized structure of information requirements for the ___domain context.<ref name="Lee99">Y. Tina Lee (1999). [http://www.mel.nist.gov/msidlibrary/doc/tina99im.pdf "Information modeling from design to implementation"] National Institute of Standards and Technology.</ref> More in general the term ''information model'' is used for models of individual things, such as facilities, buildings, process plants, etc. In those cases the concept is specialised to [[Facility Information Model]], [[Building information modeling|Building Information Model]], Plant Information Model, etc. Such an information model is an integration of a model of the facility with the data and documents about the facility.
An information model provides formalism to the description of a problem ___domain without constraining how that description is mapped to an actual implementation in software. There may be many mappings of the information model. Such mappings are called data models, irrespective of whether they are [[object model]]s (e.g. using [[Unified Modeling Language|UML]]), [[
[[File:JKDOM.SVG|thumb|180px|left|[[Document Object Model]], a standard [[object model]] for representing [[HTML]] or [[XML]]]]
|