P. 1
Independencia lógica y física de los datos

Independencia lógica y física de los datos

|Views: 1.652|Likes:
Publicado porImF4RR3LL

More info:

Published by: ImF4RR3LL on Dec 03, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOCX, PDF, TXT or read online from Scribd
See more
See less

12/09/2015

pdf

text

original

Independencia lógica y física de los datos.

(ABRAMHAM, KORTH y SUDARSHAN) La capacidad para modificar una definición de esquema en un nivel sin que afecte a una definición de esquema en el siguiente nivel más alto se llama Independencia de datos. Hay dos niveles de independencia de datos:  Independencia Física de datos: Es la capacidad para modificar el esquema físico sin provocar que los programas de aplicación tengan que rescribirse. Las modificaciones en el nivel físico son ocasionalmente necesarias para mejorar el funcionamiento. Independencia Lógica de datos: Es la capacidad para modificar el esquema lógico sin causar que los programas de aplicación tengan que rescribirse. Las modificaciones en el nivel lógico son necesarias siempre que la estructura lógica de la base de datos se altere.

La independencia de datos lógica es más fácil de proporcionar que la independencia de datos física, ya que los programas de aplicación son fuertemente dependientes de la estructura lógica de los datos a los que ellos acceden.

(ELMASRI/NAVATHE) Podemos definir dos tipos de independencia con respecto a los datos:  Independencia lógica con respecto a los datos: es la capacidad de modificar el esquema conceptual sin tener que alterar los esquemas externos no los programas de aplicación. Podemos modificar el esquema conceptual para ampliar la base de datos o para reducir la base de datos. Independencia física con respecto a los datos: es la capacidad de modificar el esquema interno por la necesidad de reorganizar ciertos archivos físicos a fin de mejorar el rendimiento de las operaciones de obtención o actualización. Si la base de datos aún contiene los mismos datos, no deberá ser necesario modificar el esquema conceptual. (Tutorial del tecnológico de la paz ) Se refiere a la protección contra los programas de aplicación que puedan originar modificaciones cuando se altera la organización física o lógica de la base de datos. Existen 2 niveles de independencia de datos. Independencia física de datos: Es la capacidad de modificar el esquema físico sin provocar que se vuelvan a escribir los programas de aplicación. Independencia lógica de datos: Capacidad de modificar el esquema conceptual sin provocar que se vuelvan a escribir los programas de aplicación.

 

La capacidad para modificar una definición de esquema en un nivel sin que afecte a una definición de esquema en el siguiente nivel más alto se llama Independencia de datos. Existen 2 niveles de independencia de datos:

. apodo) valores (2.. 'Johnny Rotten')... Lenguajes de bases de Datos Los Lenguajes de consulta (lenguaje de consulta) hijo Especificaciones FORMALES párrafo Consultas representar....)] SELECT .. [ON DUPLICATE KEY UPDATE col_name = expresión. Independencia lógica de datos: Capacidad de modificar el esquema conceptual sin provocar que se vuelvan a escribir los programas de aplicación.).. Las modificaciones en el nivel físico son ocasionalmente necesarias para mejorar el funcionamiento. 'Lydon'. 'Juan'. Las modificaciones en el nivel lógico son necesarias siempre que la estructura lógica de la base de datos se altere. Lenguaje de Consulta Estructurado (SQL)     Creado Por IBM alrededor de Los Años 70 Combinación de Álgebra Relacional y Cálculo Relacional En 1986 ANSI e ISO he estandarizan en SQL-86 Otras Versiones: SQL-92.... apellido. .. ] ACTUALIZACIÓN actualización nombre_tabla set column_name = valor. insertar en los músicos valores (2. ] o [INSERT LOW_PRIORITY | RETRASADO] [Ignorar] [EN] tbl_name [(col_name . 'nombre. [INSERT LOW_PRIORITY | RETRASADO] [Ignorar] [EN] tbl_name [(col_name . 'Lydon'...(. 'Juan'.  Independencia física de datos: Es la capacidad de modificar el esquema físico sin provocar que se vuelvan a escribir los programas de aplicación. SQL-99 Lenguaje de manipulación de datos (DML) INSERT INTO nombre_tabla (nombre_columna. .. [ON DUPLICATE KEY UPDATE col_name = expresión. . Aun CUANDO hijo Llamados de "consulta" en Realidad pueden HACER Mucho Más Que Consultas.... . insertar en los músicos (musician_id. .)] VALUES (expresión (| DEFAULT ).. o [INSERT LOW_PRIORITY | RETRASADO] [Ignorar] [EN] tbl_name JUEGO col_name = (expresión | DEFAULT).. .. valor).). column_name) valores (valor. . 'Johnny Rotten')..........

col_name2 = expr2 ...column_name = valor donde column_name = valor..] [DONDE where_definition] [ORDER BY .*] . UPDATE [LOW_PRIORITY] [Ignorar] tbl_name JUEGO col_name1 = expr1 [.] JUEGO col_name1 = expr1 [... table_name [... col_name2 = expr2 .] [Row_count límite] o: UPDATE [LOW_PRIORITY] [Ignorar] tbl_name [.. table_name [.] [Row_count límite] o: DELETE [LOW_PRIORITY] [RÁPIDO] [Ignorar] table_name [.. DELETE [LOW_PRIORITY] [RÁPIDO] [Ignorar] FROM table_name [DONDE where_definition] [ORDER BY ..] [DONDE where_definition] DELETE eliminar de table_name donde column_name = valor eliminar de los álbumes donde albums_id = 4.*] [.*] [..] FROM tabla de referencias [DONDE where_definition] o: DELETE [LOW_PRIORITY] [RÁPIDO] [Ignorar] FROM table_name [.*] .] Usando la tabla de referencias .. discos de actualización establecido el año = 1994 donde album_id = 4.. discos de actualización establecido la "música antigua" category = donde el año <1980. tbl_name ..

.category = "alternativa" y bands... SELECCIONAR tabla1 .. SELECCIONAR t1..salary DE empleado como T1.name.* FROM tabla1 -> LEFT JOIN tabla2 ON = table1. seleccionar el título de los álbumes donde category = "industrial".name. SELECT [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT] [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS] [HIGH_PRIORITY] [DISTINCT | DISTINCTROW | ALL] select_expression.[DONDE where_definition] SELECCIONAR seleccione column_name.band_id = albums.. t2.band_id.. [CON ROLLUP]] [La where_definition] [ORDER BY {unsigned_integer | col_name | fórmula} [ASC | DESC] . donde albums. row_count | row_count OFFSET offset] [PROCEDIMIENTO procedure_name (argument_list)] [FOR UPDATE | LOCK IN SHARE MODE]] table_name [[AS] alias] [[USE INDEX (key_list)] | [IGNORE INDEX (key_list)] | [Índice de Fuerza (key_list)]] UNETE seleccione bands...id table2. . discos .. [EN {OUTFILE | DUMPFILE} 'nombre_archivo' export_options] [DE table_references [DONDE where_definition] [GROUP BY {unsigned_integer | col_name | fórmula} [ASC | DESC].name = t2.. información como T2 -> DONDE t1. . column_name de table_name donde column_name = valor.] [LÍMITE [offset].id IS NULL.band_name de bandas. .id -> DONDE table2.

CREAR two_attributes ÍNDICE DE cliente (nombre (10). table_reference table_reference [INTERIOR | CROSS] UNETE table_reference [condición_junta] table_reference table_reference STRAIGHT_JOIN table_reference LEFT [OUTER] UNETE table_reference [condición_junta] table_reference NATURAL [LEFT [OUTER]] UNETE table_reference {Table_reference DO LEFT OUTER JOIN table_reference EN conditional_expr} DERECHO table_reference [OUTER] UNETE table_reference [condición_junta] table_reference NATURAL [RIGHT [OUTER]] UNETE table_reference UNIÓN (Seleccione un FROM table_name WHERE a = 10 y B = 1 ORDER BY un límite de 10) UNION (SELECT FROM table_name un WHERE a = 11 y b = 2 ORDER BY un límite de 10) ORDER BY a. band_musician donde band_musician.table_reference.musician_id = 2 y bands.band_id =).band_id de bandas..band_id band_musician.. .. [UNION [ALL |] DISTINCT SELECT . el equilibrio). donde band_id en (seleccione bands. ÍNDICE CREAR part_of_name ÍNDICE DE cliente (nombre (10)).. UNION [ALL | DISTINCT] SELECT .] SUBCONSULTAS seleccionar el título de los álbumes.. SELECT ..

'nombre).15 segundos) Registros: 1 Duplicados: 0 Warnings: 0 (Carlos) [prueba]> Índice de mostrar auser.. utilizando el índice | 1 row in set (0. Query OK. (Carlos) [prueba]> crear el índice INAME en auser (apellido.00 sec) (Carlos) [prueba]> explicar select * from auser donde apellido = 'Aguilar.) index_col_name: col_name [(length)] [ASC | DESC] SHOW INDEX FROM tbl_name GOTA index_name ÍNDICE DE tbl_name EXPLICAR explicar table_name.. | Identificación | select_type | tabla | Tipo | possible_keys | clave | key_len | ref | líneas | | extra | 1 | SIMPLE | auser | ref | iname | iname | 256 | const | 1 | Uso de donde.. explicar seleccione .CREATE [UNIQUE | Texto completo] ÍNDICE index_name [index_type] ON nombre_tabla (index_col_name .. | Tabla | Non_unique | Key_name | SEQ_IN_INDEX | Column_name | Clasificación | Cardinalidad | Sub_part | nic | Null | index_type | Comentar | | Auser | 0 | PRINCIPAL | 1 | id | A | 1 | NULL | NULL | | BTREE | | | Auser | 1 | iname | 1 | apellido | A | 1 | NULL | NULL | SÍ | BTREE | | | Auser | 1 | iname | 2 | FIRST_NAME | A | 1 | NULL | NULL | SÍ | BTREE | | 3 rows in set (0...08 segundos) . 1 row affected (0.

apodo CHAR (40))..) | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name .) | Texto completo [INDICE] [index_name] (index_col_name ..2.2 Data Definition Language (DDL) CREAR crear la tabla table_name ( column_name column_modifiers column_type...) | CLAVE [index_name] [index_type] (index_col_name ... CREATE TABLE [temporal] [SI NO EXISTE] tbl_name [(create_definition .. create_definition: col_name tipo [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT] [[PRIMARY] CLAVE] [COMENTARIO 'cadena'] [reference_definition] | [CONSTRAINT [símbolo]] PRIMARY KEY [index_type] (index_col_name .)] [Table_options] [select_statement] o: CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(] COMO old_tbl_name [)].........) | Índice [index_name] [index_type] (index_col_name .5. 'nombre CHAR (40). crear músicos mesa ( musician_id INT... decimales)] [UNSIGNED] . apellido CHAR (40).) [Reference_definition] | CHECK (expr) Tipo: TINYINT [(length)] [UNSIGNED] [ZEROFILL] | SMALLINT [(length)] [UNSIGNED] [ZEROFILL] | MEDIUMINT [(length)] [UNSIGNED] [ZEROFILL] | INT [(length)] [UNSIGNED] [ZEROFILL] | INTEGER [(length)] [UNSIGNED] [ZEROFILL] | BIGINT [(length)] [UNSIGNED] [ZEROFILL] | REAL [(longitud... column_name column_modifiers column_type)...... .) | [CONSTRAINT [símbolo]] UNIQUE [INDICE] [index_name] [index_type] (index_col_name .

]) | INSERT_METHOD = {NO | primeras | últimas} ....)] [Partido completo | coincidencia parcial] [ON reference_option BORRAR] [ACTUALIZACIÓN EN reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [table_option] .) index_col_name: col_name [(length)] [ASC | DESC] reference_definition: REFERENCIAS tbl_name [(index_col_name .[ZEROFILL] | DOBLE [(longitud.. valor2..) | SET (valor1. valor3 .. table_option: {MOTOR | TIPO} = {BDB | HEAP | ISAM | InnoDB | MERGE | MRG_MyISAM | MYISAM} | AUTO_INCREMENT = # | = AVG_ROW_LENGTH # | CHECKSUM = {0 | 1} | Comentario = 'cadena' | MAX_ROWS = # | MIN_ROWS = # | PACK_KEYS = {0 | 1 | DEFAULT} | PASSWORD = 'cadena' | DELAY_KEY_WRITE = {0 | 1} | ROW_FORMAT = {DEFAULT | DINÁMICO | FIJA | COMPRIMIDO} | RAID_TYPE = {1 | rayas | RAID 0} RAID_CHUNKS = # = # RAID_CHUNKSIZE | UNION = (table_name.... [table_name . decimales) [UNSIGNED] [ZEROFILL] | CHAR (longitud) [BINARY | ASCII | UNICODE] | VARCHAR (longitud) [BINARY] | FECHA | EL TIEMPO | TIMESTAMP | DATETIME | TINYBLOB | BLOB | MEDIUMBLOB | LONGBLOB | TINYTEXT | TEXTO | MEDIUMTEXT | LONGTEXT | ENUM (valor1.... decimales)] [UNSIGNED] [ZEROFILL] | DECIMAL (longitud. decimales) [UNSIGNED] [ZEROFILL] | Numérico (longitud. valor2.. valor3 . decimales)] [UNSIGNED] [ZEROFILL] | Float [(longitud.

FOREIGN KEY (parent_id) de los padres Referencias (id) ON DELETE CASCADE) ENGINE = INNODB . INT customer_id NOT NULL. id)) ENGINE = INNODB. Product). ÍNDICE (id_cliente). product_category INT NOT NULL.. (Algunos sentencia de selección legal) RESTRICCIONES DE EXTRANJEROS [CONSTRAINT símbolo] FOREIGN KEY [id] (index_col_name. FOREIGN KEY (product_category. PRIMARY KEY (categoría. CREAR MESA niño (id INT. id) ON UPDATE CASCADE ON DELETE RESTRICT. FOREIGN KEY (id_cliente) Referencias de clientes (id)) ENGINE = INNODB.. GOTA . INT product_id NOT NULL. .. INDICE par_ind (parent_id). CREATE TABLE customer (id INT no NULL. CREAR tabla de productos (INT NOT NULL categoría. precio decimal..) REFERENCIAS tbl_name (index_col_name. INT parent_id. . PRIMARY KEY (no).. id INT no NULL. Product) Referencias del producto (categoría. PRIMARY KEY (id)) ENGINE = INNODB.. CREATE TABLE product_order (no INT NOT NULL AUTO_INCREMENT."Ruta absoluta al directorio" DATA DIRECTORY = | "Ruta absoluta al directorio 'INDEX DIRECTORY = | | DEFAULT CHARACTER SET character_set_name [COLLATE] select_statement: [Ignorar | REPLACE] [AS] SELECT . ÍNDICE (product_category. PRIMARY KEY (id)) TYPE = INNODB .) [ON DELETE CASCADE {| SET NULL | NO ACTION | RESTRINGIR}] [ON UPDATE {CASCADE | SET NULL | NO ACTION | RESTRINGIR}] CREAR la tabla padre (id INT NOT NULL.

..) | Agregar FULLTEXT [index_name] (index_col_name .] create_specification: [DEFAULT] CHARACTER conjunto_de_caracteres JUEGO | [DEFAULT] COLLATE GOTA db_name BASE DE DATOS .) | ADD [CONSTRAINT [símbolo]] PRIMARY KEY [index_type] (index_col_name .. tbl_name .) | ADD [CONSTRAINT [símbolo]] UNIQUE [index_name] [index_type] (index_col_name ......) | Añadir un índice [index_name] [index_type] (index_col_name . alter_specification: ADD [COLUMN] create_definition [PRIMERA | DESPUÉS column_name] | ADD [COLUMN] (create_definition.. create_definition ....) | ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name .DROP TABLE [temporal] [SI EXISTE] tbl_name [............ ALTER [Ignorar] MESA tbl_name alter_specification [.) [Reference_definition] | ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT} | CAMBIO [COLUMNA] create_definition old_col_name [Primero | Después de column_name] | MODIFY [COLUMNA] create_definition [PRIMERA | DESPUÉS column_name] | GOTA [COLUMNA] col_name | GOTA PRIMARY KEY | GOTA index_name ÍNDICE | DISABLE KEYS | ENABLE KEYS | RENAME [A] new_tbl_name | ORDER BY col | Character_set_name CHARACTER SET [COLLATE] | Table_options BASE DE DATOS CREATE DATABASE [IF NOT EXISTS] nombre_bd [Create_specification [..] [RESTRICT | CASCADE] ALTER ALTER TABLE t1 MODIFICAR b BIGINT NOT NULL. create_specification] .. alter_specification] .

..] [REQUIEREN NINGUNA | [{SSL | X509}] [CIPHER cifrado [Y]] [EMISOR emisor [y]] [Asunto ASUNTO]] [CON [GRANT OPTION | MAX_QUERIES_PER_HOUR # | MAX_UPDATES_PER_HOUR # | MAX_CONNECTIONS_PER_HOUR #]] REVOKE priv_type [(column_list)] [.] ON {tbl_name | * | *.] Revocar todos los privilegios.] Ejemplos en PostgreSQL: Conceder el privilegio de introducir todos los usuarios en las películas de la tabla: CONCESIÓN DE INSERTAR películas al público...*} A nombre_usuario [IDENTIFICADOS POR CONTRASEÑA [] 'password'] [. DE . . utilice un valor de priv_type GRANT OPTION: mysql> REVOKE GRANT OPTION ON . Conceder todos los privilegios del usuario manuel el tipo de vista: GRANT todos los privilegios en las clases A Manuel.*} De USER_NAME [. Ejemplos en Mysql Para revocar el permiso GRANT OPTION de un usuario.. user_name ....... User_name [IDENTIFICADOS POR CONTRASEÑA [] 'password'] . priv_type [(column_list)] . priv_type TODOS Conjuntos de todos los privilegios simple. GRANT opción nombre_usuario [.BECAS GRANT priv_type [(column_list)] [.* | db_name ... priv_type [(column_list)] ...* | db_name .] ON {tbl_name | * | *. user_name .

.[PRIVILEGIOS] ALTER CREAR CREATE TEMPORARY TABLES DELETE GOTA excepto GRANT OPTION Permite el uso de ALTER TABLE Permite el uso de CREATE TABLE Permite el uso de CREATE TEMPORARY TABLE Permite el uso de DELETE Permite el uso de DROP TABLE Permite al usuario ejecutar procedimientos almacenados (MySQL 5..0) Permite el uso de SELECT . INTO OUTFILE y LOAD DATA INFILE Permite el uso de CREATE INDEX y DROP INDEX EXECUTE ARCHIVO ÍNDICE INSERTAR Permite el uso de INSERTAR Permite el uso de LOCK TABLES en tablas para las que tienen la SELECCIONE privilegio Permite el uso de SHOW FULL PROCESSLIST Y aún no ejecutadas Permite el uso de RAS Da derecho al usuario para preguntar dónde está el esclavo o servidores maestros son Necesarios para los esclavos de replicación (para leer eventos del log binario desde el maestro) Permite el uso de SELECT de SHOW DATABASES muestra todas las bases de LOCK TABLES PROCESO Referencias RELOAD REPLICACIÓN DEL CLIENTE Un esclavo de replicación SELECCIONAR SHOW DATABASES datos .

Base de datos de nivel Los privilegios de base de datos se aplican a todas las tablas de una base de datos dada. Tabla de niveles de Privilegios de tabla se aplican a todas las columnas de una tabla dada. GRANT ALL ON db . Estos permisos se almacenan en elmysql.table será otorgar y revocar privilegios de tabla de sólo. Estos permisos se almacenan en elmysql. y FIJAR GLOBALdeclaraciones. GRANT ALL ON db. . Cuando se usa REVOKE .* será otorgar y revocar privilegios de sólo global.tables_priv mesa.table y REVOKE ALL ON db. Estos permisos se almacenan en el mysql.* y REVOKE ALL ON db .* a otorgar y revocar privilegios única base de datos. A nivel de columna Privilegios de columna se aplican a las columnas en una tabla dada. GRANT ALL ON *.host tablas. Estos permisos se almacenan en el mysql.PARO Permite el uso de mysqladmin shutdown Permite el uso de CHANGE MASTER . la depuración mysqladmin mando. le permite conectar (una vez) incluso simax_connections se alcanza Permite el uso de ACTUALIZACIÓN Sinónimo de `` no''privilegios Permite que los privilegios se otorgen Super ACTUALIZACIÓN USO GRANT OPTION MySQL tiene cuatro niveles de privilegio: Nivel mundial Privilegios globales se aplican a todas las bases de datos en un servidor determinado.* y REVOKE ALL ON *. KILL hilo .columns_priv mesa.user mesa.db y mysql. REGISTROS DE PURGA MAESTRO .

La independencia de los datos consiste en la capacidad de modificar el esquema (físico o lógico) de una base de datos sin tener que realizar cambios en las aplicaciones que se sirven de ella.. será necesario vigilar que aquella información que aparece repetida se actualice de forma coherente. este hecho se hace transparente al usuario.  Consistencia. Propósito El propósito general de los sistemas de gestión de bases de datos es el de manejar de manera clara. abreviado DBMS) son un tipo de software muy específico. dedicado a servir de interfaz entre labase de datos.. Da lo mismo si una base de datos ocupa uno o cientos de archivos.  Independencia. Objetivos Existen distintos objetivos que deben cumplir los SGBD:  Abstracción de la información. sencilla y ordenada un conjunto de datos que posteriormente se convertirán en información relevante para una organización.debe especificar las mismas columnas que fueron concedidas. Sistema de gestión de bases de datos Los sistemas de gestión de bases de datos (en inglés database management system. el usuario y las aplicaciones que la utilizan. que todos los datos repetidos se .])] como la consulta CREATE VIEW comedias AS SELECT * FROM películas en clase = 'Comedia'. Los SGBD ahorran a los usuarios detalles acerca del almacenamiento físico de los datos. En aquellos casos en los que no se ha logrado eliminar la redundancia. es decir. se definen varios niveles de abstracción. PUNTOS DE VISTA CREATE [OR REPLACE] Nombre de la vista [(column_name [. Así.

 Seguridad. Inconvenientes 1. Esto puede llegar a incrementar los costos de operación en una empresa. Manejando las políticas de respaldo adecuadas.   Organizan los datos con un impacto mínimo en el código de los programas. proveen interfaces y lenguajes de consulta que simplifican la recuperación de los datos. que permiten otorgar diversas categorías de permisos. Lógicamente. Una transacción es un programa que se ejecuta como una sola operación. es necesario disponer de una o más personas que administren la base de datos. Típicamente. por ejemplo que los menores de edad no pueden tener licencia de conducir. es deseable minimizar el tiempo que el SGBD demora en proporcionar la información solicitada y en almacenar los cambios realizados. El sistema no debería aceptar datos de un conductor menor de edad. Ventajas  Proveen facilidades para la manipulación de grandes volúmenes de datos (ver objetivos).actualicen de forma simultánea. Los SGBD deben garantizar que esta información se encuentra segura de permisos a usuarios y grupos de usuarios. . Los SGBD proveen mecanismos para programar las modificaciones de los datos de una forma mucho más simple que si no se dispusiera de ellos. Sin embargo hay que balancear este aspecto con la calidad y confiabilidad del sistema que se obtiene. La información almacenada en una base de datos puede llegar a tener un gran valor. Por otra parte. de la misma forma en que suele ser necesario en instalaciones de cierto porte disponer de una o más personas que administren los sistemas operativos. la base de datos representa una realidad determinada que tiene determinadas condiciones.  Usualmente.  Tiempo de respuesta. En los SGBD existen herramientas que facilitan la programación de este tipo de condiciones. Esto quiere decir que luego de una ejecución en la que se produce una falla es el mismo que se obtendría si el programa no se hubiera ejecutado.  Manejo de transacciones. Entre éstas:   Simplifican la programación de equipos de consistencia. etc. garantizan que los cambios de la base serán siempre consistentes sin importar si hay errores correctamente. Disminuyen drásticamente los tiempos de desarrollo y aumentan la calidad del sistema desarrollado si son bien explotados por los desarrolladores.

com/software/data/db2/express/) Apache Derby (http://db.org SQLite) Licencia Dominio Público DB2 Express-C (http://www.sqlite.         Advantage Database dBase FileMaker Fox Pro gsBase IBM DB2: Universal Database (DB2 UDB) IBM Informix Interbase de CodeGear. Productos SGBD disponibles en el mercado SGBD libres   PostgreSQL (http://www.org/) MySQL (http://dev. SQLite (http://www. Si se tienen muy pocos datos que son usados por un único usuario por vez y no hay que realizar consultas complejas sobre los datos. entonces es posible que sea mejor usar una hoja de cálculo. filial de Borland . Complejidad: los software muy complejos y las personas que vayan a usarlo deben tener conocimiento de las funcionalidades del mismo para poder aprovecharlo al máximo. y otra más completa de pago. existen 2 versiones: una gratuita que sería equivalente a la edición "express" SQL server de Microsoft Windows.ibm. 4. 5. Coste del hardware adicional: los requisitos de hardware para correr un SGBD por lo general son relativamente altos.com/)      SGBD no libres  MySQL: Licencia Dual. depende del uso. Tamaño: la complejidad y la gran cantidad de funciones que tienen hacen que sea un software de gran tamaño.mysql.org Postgresql) Licencia BSD Firebird basada en la versión 6 de InterBase.org/derby/) MariaDB (http://mariadb. No se sabe hasta cuándo permanecerá así. ya que ha sido comprada por Oracle. por lo que estos equipos pueden llegar a costar gran cantidad de dinero. Sin embargo.postgresql. que requiere de gran cantidad de memoria para poder correr. Initial Developer's PUBLIC LICENSE Version 1.0.2. 3.apache.

              MAGIC Microsoft Access Microsoft SQL Server NexusDB Open Access Oracle Paradox PervasiveSQL Progress (DBMS) Sybase ASE Sybase ASA Sybase IQ WindowBase IBM IMS Base de Datos Jerárquica SGBD no libres y gratuitos    Microsoft SQL Server Compact Edition Basica Sybase ASE Express Edition para Linux (edición gratuita para Linux) Oracle Express Edition 10 (solo corre en un servidor. capacidad limitada) .

 %!'.17.. "!&b!!&%'%73 03.616:36:7936:13:.20 < 342-70*:8:.20  /-*3.8847/ (  &807*3./4(( $ #02847(( 8:394$&% ((  #% !% *"&#$*!#* &# *&!%$*!#* &# * % $*!#* &# ((  #' 57.20 (   4736:5#6:.761:.4..616:36:7936::473  ..37 /306 65019. & #%57.96109.O3 342-70*:8:./3.: 13.9.74 :807*3.93794:6%!'"#'"!15:.20 < 0&$#* :807*3..4:23*89 ( (  9-*3.8847/ ( ( #"&# & $$ <( !#.96 .7%!'"#'"! 4:83%"%!'"#'"!"!     79.533.96:53.369 179.4:23*89 ( 57.74% $! # %#$B( 5.616:36:7936:53.*950  .*950  .:03.6:1.53 4736:5 :83 #.20  /-*3.794/484857.9&$ 650193793615.*950 ..4:23*89 ( (  9-*3.616:36::.20% $! # %#$B( 5.4:23*89 ( 57.:73 03.305.7 %  $ 655..20 (  #0.960.964.:: .048 #%45.:.*950 .

5560..16: &$   #94.3:61#$ ..395.3:61#%# !  #'   $#%#  %$ #94.:.3:61%#% #94.6:19730.3:61 %$5.3:61$#%# #94.0 5 7.9..$ 7936 #94.:/.3:.9.6: .4/0 705..66:9169:4..97960145.6#% !%  %# ## #% %! ## %$ %  % &% #94.:.1..9.34.: #94.::1 !# $  #010703. 3:03.6:1336/5.3:61# !% #94..96::65  !0:.961:13 4.!#' $( 07.96  #94.:3.6: .9...: 7./3.3:61#%%! ##% #94.9..05.91 51 :.3:61$%/0 $ %$$4:.:8..96:7.960.3:.3:61% #94.61.3:61#%% #94.1906.36::03.553.3:61$ &!# $$$% .795.8 #  #!  % &308.967.3.O3 $ # $ %$$ 1..3:61$% %  &% % #94.

. :.05..: #%  /- #'  /- .9 5./..:15. #936:106345.97936: 50..6:1.16 :../.1..9960.:/.:.9 960.05.61../05:7.55 3286 .5.1.69.9653:17936 !3451.3:61286.6:794:6:: .153:1 #936:1..30.-0#'  /- 9.1.:06345./3.3:61$%#  4 #$%# $!&#$%#   # 103.6.4:238*57.5.*.065:  3../3./238:9/43 #94./3./3.553286 :8074:.1.50.3.34.34.69.9438:.:3.:1 5.1: 36  53106345.836:7936::6. :.5..  $:507 %&  #94.61.:11.05.9 960.:06345. :.3:61%&  &$  &5 5461--56 7936: #94.05..6:794:6::..:11.516::.: ..!#  #94.945. #%  #'   :9 6.:3.730.:11.O3286./3. .#'   .4:.6:794:6::.6: 55:91691. #%  /- 9.:11.6::.695 #% !%  &$. 503:6 :2.:.3::..9 7936:1: 3636/.:3./234..:55.5.34.730.61.1.4:.3 #936:36/.6:153 6:7936:1/.730.6:794:6:: ./3.9.55 3286 9.5..69.6:  '.3  .553286 /-286 489.4330.516 3 794.97936:1.-08*57.34.-0:9 6..::11./3.0650.730...

74.2-4803.9486:0548907472039080 ...30./.-.7 6:094/4848/.:06345.:8:.O3  -09.J1.748/09.31472.008/0.O3  3/0503/03. :344...065:3..( 06345..8/0089O3/0-..:8965 065011.../.:9./04888902.08.807.-. 3.:     #!'"&&' %'("%%#*!64/913..:503..43./048/. 807E30.3..43889003.. %'0641..7/0 2.1/:700..7.948 033F8/..:5..0/01472.76:0..-897.:4:4.948.48 08900.: 641.9484.948080/02.6:0.307..47.:3...O3 48$...:3.//0 24/1.7.097.7 .43086:0.808/0/. /0.07..48 8903/8939484-09..4070390 08/0.702: 0850.4( * * 06463.5.70390..6:048.5.-.0797E30331472.9.4/048/.948 4888902..:.0203988902 .477...948 .486:0/0-03.08.43086:08087..7.94870509/4880   . 70/:3/.47/03.03/00.03970.4 /0/.:& &' %" 73 03.O3700.80 2.93.03.-..480.3..5./0089O3/0-.5.80/0/.48:8:..3.8.:25748$  -897.5.-70.7.70086:02..   $8902..47.31472.. .7483.428248:3.03948/0.O3/0.  4388903.. 803./4..84803486:03480.80/0/.3905.8/0089O3/0-.9:.3/0503/03.43:394/0/.808/0/.74 8J 80 /01303..70.203941J8.385..8. 80./4023. 1J8.4 /0:3.O36:0.80/0/.3  !745O894 5745O8940307.3.2..948 0:8:./4$ 843:3954/08419.44O.808/0/.94883903076:070.7/039071.74 .070509/.

39.074-09..078.7.O38003.31472./0./ .7.90307 :37..3480:-07.7..94720347/00/.//090723.774.86:0.4308 &3.7.4770../0048  %0254/07085:089.7403389.  .3/08.34/0-07J.82:9E30.5747.2039.31472.03.9.97..-0232.9:..2-4870.1....94.O3/006:548/0....424 :3./345:0/0390307.9.:.48 8945:0/00..8 4507.3.43:325.5747.3.20390 0830.O3/048/.8/07085.:9.2.824/1. 00..O384./../../.8   $251.9.702039.6:0804-9030  ./2389703. -.4308   $0:7/./05072848../.:0397.850.6:08000.35:./ ..:2039./4 48$574.7.2.9.00.. $302-.8  823:03/7E89.O3/07.3/4..20390 08/080.3.282.790 .348/./.30.48 3970F89../.36:048..3./085.O303.3.6:09030/090723.1472...4308 547002546:048 2034708/00/./08.7487:548/0:8:..08.03.:507.03...:9.42E8507843.39.03:3.748 .43889039088325479.774.20390 574.0803:.03/01472.08028246:0804-903/7J./..7/.:.6:080 574/:.2.2. 025708. 70.2.0774708.304/097.6:08251.78..2039048902548/0/08..942J324030.5.08.8 ./.42E8507843.7.8 6:01..948705708039.4308/0 48/..5747.O/4/0485747.84./48    '039..8..80/0/..2:.948 .43/:.20390  09.//0 88902.079454790/854307/0:3.2-48/0 . ..42E882506:083480/85:807.38...-.38.0031.48948/04507.O308:35747./4708     &8:.6:0-...3.8  !74.-.76:0089..74/854307/0:3.036:08:0080730.O3 8946:070/0.9485:0/00.948/0:3.70902546:00 $/0247.08/0.948 /0.80807E3802570.382485.86:0./.43..948/0:3.420308/0/.00320.-./48843-030549.74.948.4388903.-/..8...47 48$/0-03.03574547.7 /.76:0:04/0:3.31472.7 88902./4.:8:.4308 /0.2.43/.805747.0:3.00339071.O3/00890954/0.3.748.43/.7.059.431./ 348$08903077.03.748 6:050729034947.438:9. 80:7..80/0/.7744.9047J.43. O./23897034888902.70890./4854748/08. 70.8/05072848  .2.7.:3.1472.0303908   %J5.80/0/...2.0.2.  7.O303:3.948  3.//088902./0..3..4507.O3.43. !47497.43/:.854J9.

7.86:0.2.948 03943.39/./.702:..54/07.4250..//0/3074  !74/:../0..438:9.8.4250/.:4    4250/.6:070.3.574.  $80903032:54.:8.:38419.70/07.2./.7 .43.0.N4 6:0706:070/07.489.0808548-0 6:080.54/07 ./48547:33.705.7.39/.425048.2047:8.81:3.9.4.74547./488419.7.948 54746:00894806:5485:0/030..7/..39/.0 34.036:0 80..39.N4.//01:3.884-7048/.948$/8543-08030207./4 $-708   !48970$" 995../.74 /0-0390307..43086:090303.7.43.4:8:.//020247.3..20394/0.2E24    %.3.8507843.9486:0843:8.48/.434.77.74.48706:8948/0.20390.7/.70.. 5.47707:3$ 54740307./08/028245.3..7.E..84370.47707    4890/0.7:3.

.

. 54897086 47!4897086 .04507 8!&$ '07843  $"90 995./.078O3/03907.80 39.8..$ 70-7/-.03.03.0.

.

4234!-.03. 8690 47$"90 .4 57088  995..

.

42. -2 .

70.8419.

9./.

/-.

057088.

.  5.007- 995.

.

5..0 47./- .

/07-.

 .7. 995.

.

/- 47.2.7.

 $" 995.

.

/0.42. 286 .

748419 3/48 497.39.07 4!74 8.547 7.078..8J .03.9.30..0784308:3.-.80 &3.0 $302-.O3057088$"807.:E3/45072.07E .7 1.2E8.80 &  31472 3907-./05..6:0..0390.0.9:9.80/04/00.-0.0/.42509.9..8/4.74 08903..07/0.80 /.80 0. 7./047.06:.4  /.89..:. /0503/0/0:84 4808./.4257.3/         .-.       $34-708  $".6:0807J.

94807E76:.477003:3807..80/0. $-..9:948     ..0$" !747088 $  $-.7.80" 3/4...088 7.7.7.0 !.80$ $-.O37.9:9.748419$"$07.80$ $-..80 $./4 !07.5.8.3:  7../47 .748419./29.07 0:8 503.5. $34-7087.               .07425.80$57088/9435...088 .8.9/943.057088/943  844.3: 0/././..748419$"$07.  .

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->