FACTOID # 35: Looking for Czech and Slovak men? Half are in factories.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Core Data

Core Data is part of the Cocoa API in Mac OS X, first introduced in Mac OS X 10.4 Tiger. It allows any sort of data organized by the relational entity-attribute model, to be serialized into XML, binary, or SQLite stores. The data can be manipulated using a higher level set of objects representing entities and their relationships. Core Data manages the serialized version, providing object lifecycle and object graph management, including persistence. Core Data interfaces directly with SQLite, insulating the developer from the underlying SQL. A Cocoa application being developed using Xcode. ... API may refer to: In computing, application programming interface In petroleum industry, American Petroleum Institute In education, Academic Performance Index This page concerning a three-letter acronym or abbreviation is a disambiguation page — a navigational aid which lists other pages that might otherwise share the same title. ... Mac OS X (official IPA pronunciation: ) is a line of proprietary, graphical operating systems developed, marketed, and sold by Apple Inc. ... Mac OS X version 10. ... In computer science, in the context of data storage and transmission, serialization is the process of saving an object onto a storage medium (such as a file, or a memory buffer) or to transmit it across a network connection link, either in binary form, or in some human-readable text... The Extensible Markup Language (XML) is a general-purpose markup language. ... A Hexdump of a JPEG image. ... SQLite is an ACID-compliant relational database management system contained in a relatively small C library. ... In computer science, the object lifetime (or life cycle) of an object in object-oriented programming is the time between an objects creation (also known as instantiation or construction) till the object is no longer used, and is destructed or freed. ... A data model is a model that describes in an abstract way how data is represented in a business organization, an information system or a database management system. ... SQLite is an ACID-compliant relational database management system contained in a relatively small C library. ...


Just as Cocoa Bindings handles many of the duties of the controller in a Model-View-Controller design, Core Data handles many of the duties of the model. Among other tasks, it handles change management, serializing to disk, memory footprint minimization, and queries against the data. This article or section should include material from Model view controller triad Model-View-Controller (MVC) is a software architecture that separates an applications data model, user interface, and control logic into three distinct components so that modifications to the view component can be made with minimal impact to...

Contents

Usage

In use, Core Data allows the developer to describe their data with a high level data model expressed in terms of entities and their relationships, plus fetch requests that retrieve entities meeting specific criteria. Code can retrieve and manipulate this data on a purely object level, without having to worry about the details of storage and retrieval. Further, the controller objects available in Interface Builder, the standard GUI building tool for Cocoa, can retrieve and manipulate these entities directly. When combined with Cocoa bindings, the UI can display many components of the data model without needing background code. Interface Builder is a software development application on Apple Computers Mac OS X operating system. ...


For instance, a developer might be writing a program to handle vCards. In order to manage these, the author intends to read the vCards into objects, and then store them in a single larger XML file. Using Core Data the developer would drag their schema from the data designer in Xcode into an interface builder window to create a GUI for their schema. They could then write standard Objective-C code to read vCard files and put the data into Core Data managed entities. From that point on the author's code manipulates these Core Data objects, rather than the underlying vCards. Connecting the Save menu item to the appropriate method in the controller object will direct the controller to examine the object stack, determine which objects are dirty, and then re-write a Core Data document file with these changes. The correct title of this article is . ... Xcode is Apple Computers IDE for developing applications and other software for Mac OS X. It is shipped free with Mac OS X. First introduced on October 24, 2003 along with the release of Mac OS X v10. ...


Storage formats

Core Data can serialize objects into XML, Binary, or SQLite for storage. The details of how these are stored vary between formats - the XML store tries to make a file readable by other programs, while the SQLite store generates rather opaque files. This portion of Core Data is similar to the original EOF system, in that one can write fairly sophisticated queries. Unlike EOF, it is not possible to write your own SQL, likely because this would not be supported by the XML and Binary storage types. SQLite is an ACID-compliant relational database management system contained in a relatively small C library. ... The Enterprise Objects Framework (or more commonly, EOF) was introduced by NeXT in 1994 as a pioneering object-relational mapping product for its NeXTSTEP and OpenStep development platforms. ...


Core Data schemas are standardized. If you have the Xcode Data Model file, you can read and write files in that format freely. Unlike EOF, though, Core Data is not currently architected for multiuser or simultaneous access. Schema migration is also non-trivial, virtually always requiring code. If other developers have access to and depend upon your data model, you may need to provide version translation code in addition to a new data model if your schema changes.


History and genesis

? This article or section may contain original research or unverified claims.
Please help Wikipedia by adding references. See the talk page for details.

Core Data owes much of its design to an early NeXT product, Enterprise Objects Framework (EOF). Image File history File links Circle-question. ... Look up Next in Wiktionary, the free dictionary. ... The Enterprise Objects Framework (or more commonly, EOF) was introduced by NeXT in 1994 as a pioneering object-relational mapping product for its NeXTSTEP and OpenStep development platforms. ...


EOF was specifically aimed at object-relational mapping for high-end SQL database engines such as SQL Server and Oracle. EOF's purpose was twofold, one to connect to the database engine and hide the implementation details, and two to read the data out of the simple relational format and translate that into a set of objects. Developers typically interacted with the objects only, dramatically simplifying development of complex programs for the cost of some "setup". The EOF object model was deliberately set up to make the resulting programs "document like", in that the user could edit the data locally in memory, and then write out all changes with a single Save command. Object-Relational mapping (aka O/RM, ORM, and O/R mapping), is a programming technique that links databases to object-oriented language concepts, creating (in effect) a virtual object database. ... Mostly it refers to the Microsoft SQL Server, which was actually derived from Sybase SQL Server ... An Oracle database consists of a collection of data managed by an Oracle database management system. ...


Throughout its history EOF "contained" a number of bits of extremely useful code that was not otherwise available under NeXTSTEP/OpenStep. For instance, EOF required the ability to track which objects were "dirty" so the system could later write them out, and this was presented to the developer not only as a document-like system, but also in the form of an unlimited Undo command stack. Many developers complained that this state management code was far too useful to be isolated in EOF, and it was moved into the Cocoa API during the transition to Mac OS X. NEXTSTEP is the original object-oriented, multitasking operating system that NeXT Computer, Inc. ... The OPENSTEP desktop. ... A Cocoa application being developed using Xcode. ... Mac OS X (official IPA pronunciation: ) is a line of proprietary, graphical operating systems developed, marketed, and sold by Apple Inc. ...


Oddly what was not translated was EOF itself. EOF was used primarily along with another OpenStep-era product, WebObjects, an application server originally based on Objective-C that was in the process of being ported to the Java programming language. As part of this conversion EOF was also converted to Java, and thus became much more difficult to use from Cocoa. Enough developers complained about this that Apple apparently decided to do something about it. WebObjects is a Java Web application server by Apple Computer. ... This article or section does not cite its references or sources. ... Objective-C, often referred to as ObjC or more seldomly as Objective C or Obj-C, is an object oriented programming language implemented as an extension to C. It is used primarily on Mac OS X and GNUstep, two environments based on the OpenStep standard, and is the primary language... Java is an object-oriented applications programming language developed by Sun Microsystems in the early 1990s. ...


One critical realization is that the object state management system in EOF did not really have anything to do with relational databases. The same code could, and was, used by developers to manage graphs of other objects as well. In this role the really useful parts of EOF were those that automatically built the object sets from the raw data, and then tracked them. It is this concept, and perhaps code, that forms the basis of Core Data.

Mac OS X Core Foundation

Core Animation | Core Audio | Core Data | Core Image | Core OpenGL | Core Video Mac OS X (official IPA pronunciation: ) is a line of proprietary, graphical operating systems developed, marketed, and sold by Apple Inc. ... Core Foundation (also called CF) is a Mac OS X framework and API. CF provides: Primitive types for data (raw bytes, Unicode strings, numbers, calendar dates, UUIDs) and collections (arrays, sets, dictionaries) Application preferences management (CFPropertyList, Preferences Utilities) XML parsing Bundle handling File system I/O (CFReadStream, CFWriteStream, CFURL) Network... Core Animation is an Apple Computer technology to create animations, to be released as part of Mac OS X v10. ... Apples Core Audio interfaces Core Audio is a fairly low-level API for dealing with sound in Apples Mac OS X operating system. ... Core Image is a technology in Mac OS X that heavily leverages the machines GPU for image related effects. ... Core OpenGL, or CGL, is Apple Computers Macintosh Quartz windowing system interface to the Mac OS X implementation of the OpenGL specification. ... Core Video is a new pipeline model for digital video in Mac OS X. Partitioning the processing into discrete steps makes it simpler for developers to access and manipulate individual frames without having to worry about translating between data types (QuickTime, OpenGL, and so on) or display synchronization issues. ...

External links


  Results from FactBites:
 
Core Data - Wikipedia, the free encyclopedia (1029 words)
Core Data is part of the Cocoa API in Mac OS X, first introduced in Mac OS X 10.4 Tiger.
Using Core Data the developer would drag their schema from the data designer in Xcode into an interface builder window to create a GUI for their schema.
Core Data can serialize objects into XML, Binary, or SQLite for storage The details of how these are stored vary between formats - the XML store tries to make a file readable by other programs, while the SQLite store generates rather opaque files.
Developing with Core Data (2423 words)
Core Data tracks changes to these objects and can reverse those changes on demand, such as when a user performs an undo command.
In order to be properly managed, a data object needs to be associated with its managed object context and an entity definition that is part of the managed object model that is being implemented by the context.
It allows Core Data to efficiently optimize the objects that are loaded into memory and leave unused data on disk.
  More results at FactBites »


 
 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms, 1022, m