Datos de la base

Ir a: navegación, búsqueda de
Datos de la base
Core Data
Desarrollador (s) Apple Inc.
Versión estable 3.2.0
Sistema operativo Mac OS X/iOS
Tipo Utilidad del sistema
Licencia Propietario
Sitio web Gestión de datos de Apple Developer

Datos de la base es un gráfico de objetos y framework de persistencia proporcionado por Apple En Mac OS X y iOS sistemas operativos. Fue introducido en Mac OS X 10.4 Tiger y iOS con el iPhone SDK 3.0.[1] Permite datos organizados por el modelo entidad – atributo relacional para ser Note en XML, binario, o SQLite tiendas. Los datos pueden ser manipulados usando objetos de nivel superiores que representa a las entidades y sus relaciones. Datos básicos de administra la versión seriada, proporcionando ciclo de vida del objeto y gráfico de objetos Administración, incluyendo persistencia. Datos básicos de interfaces directamente con SQLite, aislando el desarrollador de la subyacente SQL.[2]

Al igual que Enlaces de cacao manejar muchas de las tareas del controlador en una Modelo – Vista – controlador diseño de base de datos, encarga de muchas de las tareas del modelo de datos. Entre otras tareas, se maneja la gestión del cambio, serializar en disco, minimización de la huella de memoria y consultas en los datos.

Contenido

  • 1 Uso
  • 2 Formatos de almacenamiento
  • 3 Historia y Génesis
  • 4 Notas
  • 5 Referencias
  • 6 Enlaces externos

Uso

Datos de base describen los datos con un modelo de datos de nivel alto, expresado en términos de entidades y sus relaciones además de las solicitudes de recuperación recuperar entidades que respondan a criterios específicos. Código puede recuperar y manipular datos en un nivel puramente objeto sin tener que preocuparse de los detalles de almacenamiento y recuperación. Los objetos de controlador disponibles en Interface Builder se pueden recuperar y manipular estas entidades directamente. Cuando se combina con fijaciones de cacao la interfaz de usuario puede mostrar muchos componentes del modelo de datos sin necesidad de código de fondo.

Por ejemplo: un desarrollador puede escribir un programa para manejar vCard. Para lograr esto, el autor pretende leer las vCards en objetos y luego almacenarlos en un solo archivo XML más grande. Usando datos básicos el desarrollador podría arrastrar sus esquema desde el diseñador de datos en Xcode en una ventana de generador de interfaz para crear una interfaz gráfica para su esquema. Entonces podrían escribir estándar Objective-C código para leer archivos vCard y poner los datos en las entidades de base de datos administrados. Desde ese punto de código del autor manipula estos objetos de base de datos, en lugar de las vCards subyacentes. Conectar el Salvar elemento de menú para el método apropiado en el objeto de controlador dirigirá el controlador para examinar la pila de objetos, determinar qué objetos son sucioy luego volver a escribir un archivo de documento base datos con estos cambios.

Datos de la base está organizados en una gran jerarquía de clases, aunque la interacción sólo es frecuente con un pequeño grupo de ellos.

Nombre Uso Métodos clave
NSManagedObject
  • Atributos de acceso
  • Una "fila" de los datos
  • -entidad
  • -valueForKey:
  • -Valor: forKey:
NSManagedObjectContext
  • Acciones
  • Cambios
  • -executeFetchRequest: error:
  • -guardar
NSManagedObjectModel
  • Estructura
  • Almacenamiento de información
  • -entidades
  • -fetchRequestTemplateForName:
  • -setFetchRequestTemplate: Nombre:
NSFetchRequest
  • Solicitar datos
  • -setEntity:
  • -setPredicate:
  • -setFetchBatchSize:
NSPersistentStoreCoordinator
  • Mediador
  • Persistiendo los datos
  • -addPersistentStoreWithType: configuración: URL: opciones: error:
  • -persistentStoreForURL:
NSPredicate
  • Especificar consulta
  • + predicateWithFormat:
  • -evaluateWithObject:

[3][2][4][5]

Formatos de almacenamiento

Datos de la base pueden serializar objetos en XML, binario, o SQLite para el almacenaje.[2] Con el lanzamiento de Mac OS X 10.5 Leopard, los desarrolladores también pueden crear sus propias costumbres atómico almacenar tipos. Cada método tiene ventajas y desventajas, como ser humano legible (XML) o memoria más eficiente (SQLite). Esta porción de la base de datos es similar a la original Enterprise Objects Framework Sistema (EOF), en que uno puede escribir consultas bastante sofisticadas. A diferencia de EF, no es posible escribir tu propio SQL. Recientemente, el almacén de datos del núcleo de ODBC se ha hecho disponible en Marco ODBC. [6]

Esquemas de datos fundamentales están estandarizados. Si tienes el archivo de modelo de datos de Xcode, puede leer y escribir archivos en este formato libremente. A diferencia de EF, sin embargo, datos básicos no está actualmente diseñado para acceso multiusuario o simultáneo a menos que utilizas Marco ODBC.[6] Migración de esquema también es no trivial, que casi siempre requieren código. Si otros desarrolladores tienen acceso a y dependen de su modelo de datos, necesitará proporcionar versión traducción código además de un nuevo modelo de datos si cambia el esquema.

Historia y Génesis

Datos de la base deben gran parte de su diseño a un temprano Próxima producto, Enterprise Objects Framework (EF).[7]

EF estaba dirigida específicamente a Mapeo objeto-relacional para los motores de base de datos SQL High-End como Microsoft SQL Server y Oracle. Propósito de EF era doble: primero, para conectar al motor de base de datos y ocultar los detalles de implementación; segundo, para leer los datos en el formato relacional simple y se traducen en un conjunto de objetos. Los desarrolladores típicamente interactuaban con los objetos, simplificar considerablemente el desarrollo de programas complejos para el costo de algunos "setup". El modelo de objetos de EF se creó deliberadamente para hacer el documento resultante del programas"como", en que el usuario puede editar los datos localmente en memoria y luego escribir todos los cambios con un solo Save comando.

A lo largo de su historia EF "contenida" un número de bits de código extremadamente útil que de lo contrario no estaban disponibles bajo NeXTSTEP/OpenStep. Por ejemplo, EF requiere la capacidad de rastrear los objetos que fueron "sucios" para el sistema más tarde les podría escribir, y esto fue presentado al desarrollador no sólo como un sistema de documentos, sino también en la forma de una pila de comando Deshacer ilimitada. Muchos desarrolladores se quejaron de que este código de gestión estatal era demasiado útil para aislarse en EF, y fue trasladado a la API de cacao durante la transición a Mac OS X.

Curiosamente lo que no fue traducido fue EF sí mismo. EF se utilizó principalmente junto con otro producto de la época OpenStep, WebObjects, un servidor de aplicaciones basado originalmente en Objective-C que estaba en proceso de ser portado a la Lenguaje de programación Java. Como parte de esta conversión EF se convirtió también en Java y así se convirtió en mucho más difícil de utilizar de cacao. Suficiente los desarrolladores se quejaron de esto que Apple al parecer decidió hacer algo al respecto.

Una realización crítica es que el sistema de gestión del Estado objeto de EF no realmente ¿tiene algo que ver con bases de datos relacionales. El mismo código podría ser y era, utilizado por los desarrolladores gestionar gráficos de otros objetos así como. En este papel las partes útiles de EF fueron los que construyeron automáticamente los conjuntos de objetos de los datos en bruto y luego les seguí. Es este concepto y tal vez el código, que constituye la base de datos de la base.

Notas

  1. ^ Manzana, "Base datos Tutorial para iPhone OS".
  2. ^ a b c Manzana, "Guía de programación de datos de la base".
  3. ^ Zarra, Datos de la base.
  4. ^ Stevenson, "Core Data Class Overview"
  5. ^ Jurewitz, "Trabajando con datos de la base"
  6. ^ a b GitHub, "Marco de Odbc"
  7. ^ Apple, "Guía del usuario de EOModeler"

Referencias

  • Apple Inc. (17 de septiembre de 2009). "Guía de programación de datos básicos". Obtenido de https://developer.Apple.com/iPhone/Library/Documentation/Cocoa/conceptual/CoreData/cdProgrammingGuide.html
  • Apple Inc. (09 de septiembre de 2009). "Tutorial base de datos para iPhone OS". Obtenido de https://developer.Apple.com/iPhone/Library/Documentation/DataManagement/conceptual/iPhoneCoreData01/Introduction/Introduction.html
  • Apple Inc. (2006). "Guía del usuario de EOModeler". Obtenido de https://developer.Apple.com/Legacy/Mac/Library/Documentation/WebObjects/UsingEOModeler/Introduction/Introduction.html#//apple_ref/doc/uid/TP30001018-CH201-TP1
  • Jurewitz, M. & Apple Inc. (2010). "iPhone Videos desarrollo: trabajar con datos de la base". Obtenido de https://developer.Apple.com/videos/iPhone/#Video-avanzado-coredata
  • Stevenson, S. (2005). "Núcleo información general sobre la clase". Obtenido de https://cocoadevcentral.com/articles/000086.php
  • Zarra, M. S. (2009). La base API de datos Apple para persistir datos en Mac OS X. Los programadores pragmáticos.
  • LaMarche, J. & Mark, D. (2009). Más iPhone 3 desarrollo: abordar iPhone SDK 3. Apress.

Enlaces externos

  • Apple Inc. (2006). "Desarrollo con datos de la base". Obtenido de https://developer.Apple.com/MacOSX/CoreData.html
  • Apple Inc. (2009). "Web objetos Tutorial". Obtenido de https://developer.Apple.com/Legacy/Mac/Library/Documentation/DeveloperTools/conceptual/WOTutorial/Introduction/Introduction.html
  • CocoaDev. (n.d.). Obtenido de https://www.cocoadev.com/
  • Github. "Marco de Odbc". https://github.com/mhakman/OSX-Cocoa-ODBC
  • mFluent LLC. "Vista Core persistencia ficheros de datos". https://github.com/yepher/CoreDataUtility
  • Stevenson, S. (2005). "Construir una aplicación de base de datos". Obtenido de https://cocoadevcentral.com/articles/000085.php

Otras Páginas

Obtenido de"https://en.copro.org/w/index.php?title=Core_Data&oldid=608267793"