SlideShare una empresa de Scribd logo
1 de 8
¿Qué son las bases de datos?
Una base de datos es un “almacén” que nos permite guardar grandes cantidades de información de forma
organizada para que luego podamos encontrar y utilizar fácilmente. A continuación te presentamos una guía que te
explicará el concepto y características de las bases de datos.
El término de bases de datos fue escuchado por primera vez en 1963, en un simposio celebrado en California, USA.
Una base de datos se puede definir como un conjunto de información relacionada que se encuentra agrupada ó
estructurada.
Desde el punto de vista informático, la base de datos es un sistema formado por un conjunto de datos almacenados
en discos que permiten el acceso directo a ellos y un conjunto de programas que manipulen ese conjunto de datos.
Cada base de datos se compone de una o más tablas que guarda un conjunto de datos. Cada tabla tiene una o más
columnas y filas. Las columnas guardan una parte de la información sobre cada elemento que queramos guardar en
la tabla, cada fila de la tabla conforma un registro.
Definición de base de datos
Se define una base de datos como una serie de datos organizados y relacionados entre sí, los cuales son
recolectados y explotados por los sistemas de información de una empresa o negocio en particular.
Características
Entre las principales características de los sistemas de base de datos podemos mencionar:
• Independencia lógica y física de los datos.
• Redundancia mínima.
• Acceso concurrente por parte de múltiples usuarios.
• Integridad de los datos.
• Consultas complejas optimizadas.
• Seguridad de acceso y auditoría.
• Respaldo y recuperación.
• Acceso a través de lenguajes de programación estándar.
Sistema de Gestión de Base de Datos (SGBD) en inglés (DBMS)
Los Sistemas de Gestión de Base de Datos (en inglés DataBase Management System) son un tipo de software muy
específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan. Se
compone de un lenguaje de definición de datos, de un lenguaje de manipulación de datos y de un lenguaje de
consulta.
Ventajas de las bases de datos
Control sobre la redundancia de datos:
Los sistemas de ficheros almacenan varias copias de los mismos datos en ficheros distintos. Esto hace que se
desperdicie espacio de almacenamiento, además de provocar la falta de consistencia de datos.
En los sistemas de bases de datos todos estos ficheros están integrados, por lo que no se almacenan varias copias
de los mismos datos. Sin embargo, en una base de datos no se puede eliminar la redundancia completamente, ya
que en ocasiones es necesaria para modelar las relaciones entre los datos.
Consistencia de datos:
Eliminando o controlando las redundancias de datos se reduce en gran medida el riesgo de que haya
inconsistencias. Si un dato está almacenado una sola vez, cualquier actualización se debe realizar sólo una vez, y
está disponible para todos los usuarios inmediatamente. Si un dato está duplicado y el sistema conoce esta
redundancia, el propio sistema puede encargarse de garantizar que todas las copias se mantienen consistentes.
Compartición de datos:
En los sistemas de ficheros, los ficheros pertenecen a las personas o a los departamentos que los utilizan. Pero en
los sistemas de bases de datos, la base de datos pertenece a la empresa y puede ser compartida por todos los
usuarios que estén autorizados.
Mantenimiento de estándares:
Gracias a la integración es más fácil respetar los estándares necesarios, tanto los establecidos a nivel de la empresa
como los nacionales e internacionales. Estos estándares pueden establecerse sobre el formato de los datos para
facilitar su intercambio, pueden ser estándares de documentación, procedimientos de actualización y también reglas
de acceso.
Mejora en la integridad de datos:
La integridad de la base de datos se refiere a la validez y la consistencia de los datos almacenados. Normalmente, la
integridad se expresa mediante restricciones o reglas que no se pueden violar. Estas restricciones se pueden aplicar
tanto a los datos, como a sus relaciones, y es el SGBD quien se debe encargar de mantenerlas.
Mejora en la seguridad:
La seguridad de la base de datos es la protección de la base de datos frente a usuarios no autorizados. Sin unas
buenas medidas de seguridad, la integración de datos en los sistemas de bases de datos hace que éstos sean más
vulnerables que en los sistemas de ficheros.
Mejora en la accesibilidad a los datos:
Muchos SGBD proporcionan lenguajes de consultas o generadores de informes que permiten al usuario hacer
cualquier tipo de consulta sobre los datos, sin que sea necesario que un programador escriba una aplicación que
realice tal tarea.
Mejora en la productividad:
El SGBD proporciona muchas de las funciones estándar que el programador necesita escribir en un sistema de
ficheros. A nivel básico, el SGBD proporciona todas las rutinas de manejo de ficheros típicas de los programas de
aplicación.
El hecho de disponer de estas funciones permite al programador centrarse mejor en la función específica requerida
por los usuarios, sin tener que preocuparse de los detalles de implementación de bajo nivel.
Mejora en el mantenimiento:
En los sistemas de ficheros, las descripciones de los datos se encuentran inmersas en los programas de aplicación
que los manejan.
Esto hace que los programas sean dependientes de los datos, de modo que un cambio en su estructura, o un
cambio en el modo en que se almacena en disco, requiere cambios importantes en los programas cuyos datos se
ven afectados.
Sin embargo, los SGBD separan las descripciones de los datos de las aplicaciones. Esto es lo que se conoce como
independencia de datos, gracias a la cual se simplifica el mantenimiento de las aplicaciones que acceden a la base
de datos.
Aumento de la concurrencia:
En algunos sistemas de ficheros, si hay varios usuarios que pueden acceder simultáneamente a un mismo fichero,
es posible que el acceso interfiera entre ellos de modo que se pierda información o se pierda la integridad. La
mayoría de los SGBD gestionan el acceso concurrente a la base de datos y garantizan que no ocurran problemas de
este tipo.
Mejora en los servicios de copias de seguridad:
Muchos sistemas de ficheros dejan que sea el usuario quien proporcione las medidas necesarias para proteger los
datos ante fallos en el sistema o en las aplicaciones. Los usuarios tienen que hacer copias de seguridad cada día, y
si se produce algún fallo, utilizar estas copias para restaurarlos.
En este caso, todo el trabajo realizado sobre los datos desde que se hizo la última copia de seguridad se pierde y se
tiene que volver a realizar. Sin embargo, los SGBD actuales funcionan de modo que se minimiza la cantidad de
trabajo perdido cuando se produce un fallo.
Desventajas de las bases de datos
Complejidad:
Los SGBD son conjuntos de programas que pueden llegar a ser complejos con una gran funcionalidad. Es preciso
comprender muy bien esta funcionalidad para poder realizar un buen uso de ellos.
Costo del equipamiento adicional:
Tanto el SGBD, como la propia base de datos, pueden hacer que sea necesario adquirir más espacio de
almacenamiento. Además, para alcanzar las prestaciones deseadas, es posible que sea necesario adquirir una
máquina más grande o una máquina que se dedique solamente al SGBD. Todo esto hará que la implantación de un
sistema de bases de datos sea más cara.
Vulnerable a los fallos:
El hecho de que todo esté centralizado en el SGBD hace que el sistema sea más vulnerable ante los fallos que
puedan producirse. Es por ello que deben tenerse copias de seguridad (Backup).
Objetivos de la base de datos
• Asegurarse de que la base de datos pueda ser compartida entre los usuarios de una diversidad
de aplicaciones.
• Mantener datos que sean precisos y consistentes.
• Asegurarse de que todos los datos requeridos para las aplicaciones actuales y futuras estén
fácilmente disponibles.
• Permitir que la base de datos evolucione y que las necesidades de los usuarios crezcan.
• Permitir que los usuarios construyan su vista personal de los datos sin preocuparse de la
forma en que estén físicamente guardados los datos.
Estructura de una Base de Datos
Una base de datos, a fin de ordenar la información de manera lógica, posee un orden que debe ser cumplido para
acceder a la información de manera coherente. Cada base de datos contiene una o más tablas, que cumplen la
función de contener los campos.
Por consiguiente una base de datos posee el siguiente orden jerárquico:
Tablas
Campos
Registros
Lenguaje SQL
El lenguaje SQL es el más universal en los sistemas de base de datos. Este lenguaje nos permite realizar consultas
a nuestras bases de datos para mostrar, insertar, actualizar y borrar datos.
Tabla o Entidad
Entidad: es cualquier objeto o evento acerca del cual alguien escoge recolectar datos. Una persona, lugar, cosa o
idea abstracta sobre la que el sistema necesita recordar algo es considerada entidad; una entidad también puede ser
un evento o unidad de tiempo, tal como la descompostura de una máquina, una venta o un mes o año.
Una tabla de una base de datos es similar en apariencia a una hoja de cálculo, en cuanto a que los datos se
almacenan en filas y columnas. También son llamados Entidades
Tipos de Entidades
Entidad independiente: es una entidad cuyas instancias pueden identificarse singularmente sin determinar su
relación a otra entidad, pero cuando ciertas entidades se relacionan con otras, puedenidentificarse instancias de
entidades que dependen de otra.
Entidad dependiente: Es una entidad cuya instancias no pueden identificarse de forma singular sin determinar su
relación a otra entidad o entidades. Las entidades dependiente o entidad niños incluyen todos o una porción de la
clave primaria, y confía en los atributos extranjeros emigrados para la entidad.
Tipos de Campos
Cada Sistema de Base de Datos posee tipos de campos que pueden ser similares o diferentes. Entre los más
comunes podemos nombrar:
Numérico: entre los diferentes tipos de campos numéricos podemos encontrar enteros “sin decimales” y reales
“decimales”.
Booleanos: poseen dos estados: Verdadero “Si” y Falso “No”.
Memos: son campos alfanuméricos de longitud ilimitada. Presentan el inconveniente de no poder ser indexados.
Fechas: almacenan fechas facilitando posteriormente su explotación. Almacenar fechas de esta forma posibilita
ordenar los registros por fechas o calcular los días entre una fecha y otra.
Alfanuméricos: contienen cifras y letras. Presentan una longitud limitada (255 caracteres).
Autoincrementadles: son campos numéricos enteros que incrementan en una unidad su valor para cada registro
incorporado. Su utilidad resulta: Servir de identificador ya que resultan exclusivos de un registro.
Registro: Es un conjunto de concepto de datos que tienen algo en común con la entidad descripta.
Clave Principal (PK): Es aquella que identifica en forma única a un registro, por ejemplo puede
utilizar cliente_id para identificar a cada cliente de una empresa en donde el numero asignado a
cliente no puede repetirse para otra instancia de cliente.
Tipos de Base de Datos
Entre los diferentes tipos de base de datos, podemos encontrar los siguientes:
MySql: es una base de datos con licencia GPL basada en un servidor. Se caracteriza por su rapidez. No es
recomendable usar para grandes volúmenes de datos.
PostgreSql y Oracle: Son sistemas de base de datos poderosos. Administra muy bien grandes cantidades de
datos, y suelen ser utilizadas en intranets y sistemas de gran calibre.
Access: Es una base de datos desarrollada por Microsoft. Esta base de datos, debe ser creada bajo el programa
access, el cual crea un archivo .mdb con la estructura ya explicada.
Microsoft SQL Server: es una base de datos más potente que access desarrollada por Microsoft. Se utiliza para
manejar grandes volúmenes de informaciones.
Modelo entidad-relación (DER)
Los diagramas o modelos entidad-relación (denominado por su siglas, DER “Diagram Entity Relationship”) son
herramientas para el modelado de datos de un sistema de información. Estos modelos expresan entidades
relevantes para un sistema de información, sus inter-relaciones y propiedades.
Cardinalidad de las Relaciones
Las relaciones entre las tablas de una base de datos pueden darse de las siguientes formas:
Relaciones de uno a uno: una instancia de la entidad A, se relaciona con una y solamente una de la entidad B.
Relaciones de uno a muchos: cada instancia de la entidad A se relaciona con varias instancias de la entidad B.
Relaciones de muchos a muchos: cualquier instancia de la entidad A se relaciona con cualquier instancia de la
entidad B.
Tipos de Relaciones
Relación identificable: La relación identificable se da cuando la pk de la entidad padre migra a la tabla hijo como
clave extranjera y ésta pasa a formar parte de la clave primaria (pk) en la tabla hijo.
Relación no identificable: La relación no identificable se da cuando la pk de la entidad padre migra a la tabla hijo
como clave extranjera y la misma no forma parte de la clave primaria (pk) en la tabla hijo.
Entidad Asociativa
La relación entre dos tablas o entidades con cardinalidad de muchos a muchos no puede ser aplicada físicamente en
una base de datos. Por este motivo se describe o se genera la entidad asociativa, que es el producto de la relación
entre las tablas padres y por tanto, ésta entidad contiene las claves de ambas entidades padres.
Dependencia Funcional
La dependencia es una relación funcional tal que los valores de una (o más de una) de las variables determina y fija
el valor de las otras variables en la relación dependiente.
Existen tres tipos de dependencia:
• Total
• Completa
• Transitiva
Dependencia Total
Cuando los campos que no forman parte de la clave primaria dependen totalmente de la clave primaria
Ejemplo: Se describen datos de empleados de una empresa
Nro. CI (PK)
Nombre
Direccion
Dependencia Completa
El concepto de dependencia completa se aplica solamente cuando:
• Tenemos más de dos variables, y
• Una variable es dependiente de dos o más variables independientes.
Ejemplo: Se describen datos de empleados de una empresa
Nro_empleado (PK)
Nro_CI (clave candidata)
Nombre (este campo depende completamente de los anteriores)
Dependencia Transitiva
Existe cuando uno o más campos de la tabla que no forman parte de la clave primaria dependen de forma transitoria
a ésta; es decir estos campos pueden volverse independientes.
Ejemplo:
Nro. Empleado (PK)
Nombre
Direccion
Ciudad (este campo depende transitivamente de a las anteriores)
Normalización
Reglas de normalización
1era Forma Normal (FN1). Se pretende garantizar la no existencia de grupos repetitivos.
Un grupo repetitivo es un conjunto de atributos de igual semántica en el problema y dominio, que toman valores
distintos para la misma clave. Cualquier esquema que tenga claves correctas está seguro en FN1.
2da. Forma Normal (FN2).Si FN1 y cada atributo de la tabla que no forma parte de la clave depende funcionalmente
de forma completa de la clave primaria. Es decir, depende de toda la clave y no de ningún subconjunto de ella. Se
pretende garantizar una correcta elección de claves y eliminar redundancias. Si la clave está formada por un único
atributo entonces ese esquema estará seguro en segunda forma normal.
3ra Forma Normal (FN3). Si FN2 y cada atributo no primo de la tabla no depende funcionalmente de forma
transitiva de la clave primaria.
Ejercicio de Normalización
La Normalización es una técnica de corrección de errores para los modelos de
información y no una técnica de construcción.
Instrucciones o sentencias básicas en SQL
Mostrar: para mostrar los registros se utiliza la instrucción Select.
Select * From NOMBRE_TABLA
Select campo1,campo2 From NOMBRE_TABLA
Insertar: los registros pueden ser introducidos a partir de sentencias que emplean la instrucción Insert.
Insert Into NOMBRE_TABLA (campo1,campo2, campo3) Values (valor1, valor2, valor3)
Borrar: Para borrar un registro se utiliza la instrucción Delete. En este caso debemos especificar cual o cuales son
los registros que queremos borrar. Es por ello necesario establecer una selección que se llevara a cabo mediante la
cláusula Where.
Delete From NOMBRE_TABLA Where NOMBRE_CAMPO = VALOR
Actualizar: para actualizar los registros se utiliza la instrucción Update. Como para el caso de Delete, necesitamos
especificar por medio de Where cuáles son los registros en los que queremos hacer efectivas nuestras
modificaciones. Además, tendremos que especificar cuáles son los nuevos valores de los campos que deseamos
actualizar.
Update comentarios Set NOMBRE_CAMPO='Mi Primer Comentario' where NOMBRE_CAMPO =VALOR
Nombre de campo Valor
Factura Nro. 1376
Nombre José
Apellido Campos
Nro. teléfono 0528 3222
Artículo martillo
cantidad 1
precio unitario act. 3500
Artículo pala
cantidad 2
precio unitario act. 7800
Artículo cerrucho
cantidad 5
precio unitario act. 5000
iva 4410
total 48510
1. Se solicita realizar la normalización de
este archivo individual perteneciente a
una ferretería, hasta la tercera forma
normal.
2. Luego de cada forma incluir el DER
que corresponde a la normalización.
Base de datos

Más contenido relacionado

La actualidad más candente

Usuarios de un SGBD
Usuarios de un SGBDUsuarios de un SGBD
Usuarios de un SGBDjosemullo3
 
Qué son las bases de datos
Qué son las bases de datosQué son las bases de datos
Qué son las bases de datosRaul Hernandez
 
Ventajas de bdd expo
Ventajas de bdd expoVentajas de bdd expo
Ventajas de bdd expogerardd98
 
Base de Datos - Yaiberth Bravo
Base de Datos - Yaiberth BravoBase de Datos - Yaiberth Bravo
Base de Datos - Yaiberth BravoYaiberth
 
B a s e d e d a t o s
B a s e   d e   d a t o sB a s e   d e   d a t o s
B a s e d e d a t o sVicky García
 
Ciberconsulta
CiberconsultaCiberconsulta
CiberconsultaAREQUIPE!
 
Ciberconsulta
CiberconsultaCiberconsulta
CiberconsultaAREQUIPE!
 
Base de datos (william mata 26550902)
Base de datos (william mata 26550902)Base de datos (william mata 26550902)
Base de datos (william mata 26550902)WilliamMata7
 
ALEJANDRA GUERRERO Y YULEIDY HERNANDEZ
ALEJANDRA GUERRERO Y YULEIDY HERNANDEZALEJANDRA GUERRERO Y YULEIDY HERNANDEZ
ALEJANDRA GUERRERO Y YULEIDY HERNANDEZAREQUIPE!
 
tarea base de datos
tarea base de datostarea base de datos
tarea base de datosAREQUIPE!
 
Yulieth Ardila
Yulieth ArdilaYulieth Ardila
Yulieth ArdilaAREQUIPE!
 
Karen Angarita Y Maria Paula Niño!
Karen Angarita Y Maria Paula Niño!Karen Angarita Y Maria Paula Niño!
Karen Angarita Y Maria Paula Niño!AREQUIPE!
 

La actualidad más candente (16)

Usuarios de un SGBD
Usuarios de un SGBDUsuarios de un SGBD
Usuarios de un SGBD
 
Qué son las bases de datos
Qué son las bases de datosQué son las bases de datos
Qué son las bases de datos
 
Ventajas de bdd expo
Ventajas de bdd expoVentajas de bdd expo
Ventajas de bdd expo
 
Base de Datos - Yaiberth Bravo
Base de Datos - Yaiberth BravoBase de Datos - Yaiberth Bravo
Base de Datos - Yaiberth Bravo
 
B a s e d e d a t o s
B a s e   d e   d a t o sB a s e   d e   d a t o s
B a s e d e d a t o s
 
Referente conceptual
Referente conceptualReferente conceptual
Referente conceptual
 
Ciberconsulta
CiberconsultaCiberconsulta
Ciberconsulta
 
Ciberconsulta
CiberconsultaCiberconsulta
Ciberconsulta
 
Base de datos (william mata 26550902)
Base de datos (william mata 26550902)Base de datos (william mata 26550902)
Base de datos (william mata 26550902)
 
Taller 1 bases de datos
Taller 1 bases de datosTaller 1 bases de datos
Taller 1 bases de datos
 
ALEJANDRA GUERRERO Y YULEIDY HERNANDEZ
ALEJANDRA GUERRERO Y YULEIDY HERNANDEZALEJANDRA GUERRERO Y YULEIDY HERNANDEZ
ALEJANDRA GUERRERO Y YULEIDY HERNANDEZ
 
Clase doce 2011
Clase doce  2011Clase doce  2011
Clase doce 2011
 
tarea base de datos
tarea base de datostarea base de datos
tarea base de datos
 
Yulieth Ardila
Yulieth ArdilaYulieth Ardila
Yulieth Ardila
 
Karen Angarita Y Maria Paula Niño!
Karen Angarita Y Maria Paula Niño!Karen Angarita Y Maria Paula Niño!
Karen Angarita Y Maria Paula Niño!
 
Doc111
Doc111Doc111
Doc111
 

Similar a Base de datos

Qué son las bases de datos
Qué son las bases de datosQué son las bases de datos
Qué son las bases de datosgerardd98
 
Expo base de datos
Expo base de datosExpo base de datos
Expo base de datosAlfredo Joya
 
Base de datos en la web
Base de datos en la webBase de datos en la web
Base de datos en la webgladys balza
 
Base de datos
Base de datosBase de datos
Base de datosmdccvc123
 
Base de datos
Base de datosBase de datos
Base de datosmdccvc123
 
Base de datos
Base de datosBase de datos
Base de datosCSBB
 
Base de datos
Base de datosBase de datos
Base de datosmdccvc123
 
Bases de datos
Bases de datosBases de datos
Bases de datoskevin5216
 
Bases de datos_clase_1
Bases de datos_clase_1Bases de datos_clase_1
Bases de datos_clase_1fabioalopezs
 
Laura Garcia y Camila Hernandez
Laura Garcia y Camila HernandezLaura Garcia y Camila Hernandez
Laura Garcia y Camila HernandezAREQUIPE!
 
Cirber consulta. sulbey niño y fernanda villada
Cirber consulta. sulbey niño y fernanda villadaCirber consulta. sulbey niño y fernanda villada
Cirber consulta. sulbey niño y fernanda villadaAREQUIPE!
 
BASE DE DATOS
BASE DE DATOS BASE DE DATOS
BASE DE DATOS AREQUIPE!
 
Paola mendoza
Paola mendozaPaola mendoza
Paola mendozaAREQUIPE!
 
Marcela Pita y Paula Prada
Marcela Pita y Paula PradaMarcela Pita y Paula Prada
Marcela Pita y Paula PradaAREQUIPE!
 
Karen Angarita Y Maria Paula Niño!
Karen Angarita Y Maria Paula Niño!Karen Angarita Y Maria Paula Niño!
Karen Angarita Y Maria Paula Niño!AREQUIPE!
 
Paola mendoza
Paola mendozaPaola mendoza
Paola mendozaAREQUIPE!
 

Similar a Base de datos (20)

Qué son las bases de datos
Qué son las bases de datosQué son las bases de datos
Qué son las bases de datos
 
Expo base de datos
Expo base de datosExpo base de datos
Expo base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
BASES DE DATOS.pptx
BASES DE DATOS.pptxBASES DE DATOS.pptx
BASES DE DATOS.pptx
 
Base de datos en la web
Base de datos en la webBase de datos en la web
Base de datos en la web
 
Base de datos
Base de datosBase de datos
Base de datos
 
Bd
BdBd
Bd
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Informática i1 base de datos
Informática i1 base de datosInformática i1 base de datos
Informática i1 base de datos
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Bases de datos_clase_1
Bases de datos_clase_1Bases de datos_clase_1
Bases de datos_clase_1
 
Laura Garcia y Camila Hernandez
Laura Garcia y Camila HernandezLaura Garcia y Camila Hernandez
Laura Garcia y Camila Hernandez
 
Cirber consulta. sulbey niño y fernanda villada
Cirber consulta. sulbey niño y fernanda villadaCirber consulta. sulbey niño y fernanda villada
Cirber consulta. sulbey niño y fernanda villada
 
BASE DE DATOS
BASE DE DATOS BASE DE DATOS
BASE DE DATOS
 
Paola mendoza
Paola mendozaPaola mendoza
Paola mendoza
 
Marcela Pita y Paula Prada
Marcela Pita y Paula PradaMarcela Pita y Paula Prada
Marcela Pita y Paula Prada
 
Karen Angarita Y Maria Paula Niño!
Karen Angarita Y Maria Paula Niño!Karen Angarita Y Maria Paula Niño!
Karen Angarita Y Maria Paula Niño!
 
Paola mendoza
Paola mendozaPaola mendoza
Paola mendoza
 

Base de datos

  • 1. ¿Qué son las bases de datos? Una base de datos es un “almacén” que nos permite guardar grandes cantidades de información de forma organizada para que luego podamos encontrar y utilizar fácilmente. A continuación te presentamos una guía que te explicará el concepto y características de las bases de datos. El término de bases de datos fue escuchado por primera vez en 1963, en un simposio celebrado en California, USA. Una base de datos se puede definir como un conjunto de información relacionada que se encuentra agrupada ó estructurada. Desde el punto de vista informático, la base de datos es un sistema formado por un conjunto de datos almacenados en discos que permiten el acceso directo a ellos y un conjunto de programas que manipulen ese conjunto de datos. Cada base de datos se compone de una o más tablas que guarda un conjunto de datos. Cada tabla tiene una o más columnas y filas. Las columnas guardan una parte de la información sobre cada elemento que queramos guardar en la tabla, cada fila de la tabla conforma un registro. Definición de base de datos Se define una base de datos como una serie de datos organizados y relacionados entre sí, los cuales son recolectados y explotados por los sistemas de información de una empresa o negocio en particular. Características Entre las principales características de los sistemas de base de datos podemos mencionar: • Independencia lógica y física de los datos. • Redundancia mínima. • Acceso concurrente por parte de múltiples usuarios. • Integridad de los datos. • Consultas complejas optimizadas. • Seguridad de acceso y auditoría. • Respaldo y recuperación. • Acceso a través de lenguajes de programación estándar. Sistema de Gestión de Base de Datos (SGBD) en inglés (DBMS) Los Sistemas de Gestión de Base de Datos (en inglés DataBase Management System) son un tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan. Se compone de un lenguaje de definición de datos, de un lenguaje de manipulación de datos y de un lenguaje de consulta. Ventajas de las bases de datos Control sobre la redundancia de datos: Los sistemas de ficheros almacenan varias copias de los mismos datos en ficheros distintos. Esto hace que se desperdicie espacio de almacenamiento, además de provocar la falta de consistencia de datos. En los sistemas de bases de datos todos estos ficheros están integrados, por lo que no se almacenan varias copias de los mismos datos. Sin embargo, en una base de datos no se puede eliminar la redundancia completamente, ya que en ocasiones es necesaria para modelar las relaciones entre los datos. Consistencia de datos: Eliminando o controlando las redundancias de datos se reduce en gran medida el riesgo de que haya inconsistencias. Si un dato está almacenado una sola vez, cualquier actualización se debe realizar sólo una vez, y está disponible para todos los usuarios inmediatamente. Si un dato está duplicado y el sistema conoce esta redundancia, el propio sistema puede encargarse de garantizar que todas las copias se mantienen consistentes. Compartición de datos:
  • 2. En los sistemas de ficheros, los ficheros pertenecen a las personas o a los departamentos que los utilizan. Pero en los sistemas de bases de datos, la base de datos pertenece a la empresa y puede ser compartida por todos los usuarios que estén autorizados. Mantenimiento de estándares: Gracias a la integración es más fácil respetar los estándares necesarios, tanto los establecidos a nivel de la empresa como los nacionales e internacionales. Estos estándares pueden establecerse sobre el formato de los datos para facilitar su intercambio, pueden ser estándares de documentación, procedimientos de actualización y también reglas de acceso. Mejora en la integridad de datos: La integridad de la base de datos se refiere a la validez y la consistencia de los datos almacenados. Normalmente, la integridad se expresa mediante restricciones o reglas que no se pueden violar. Estas restricciones se pueden aplicar tanto a los datos, como a sus relaciones, y es el SGBD quien se debe encargar de mantenerlas. Mejora en la seguridad: La seguridad de la base de datos es la protección de la base de datos frente a usuarios no autorizados. Sin unas buenas medidas de seguridad, la integración de datos en los sistemas de bases de datos hace que éstos sean más vulnerables que en los sistemas de ficheros. Mejora en la accesibilidad a los datos: Muchos SGBD proporcionan lenguajes de consultas o generadores de informes que permiten al usuario hacer cualquier tipo de consulta sobre los datos, sin que sea necesario que un programador escriba una aplicación que realice tal tarea. Mejora en la productividad: El SGBD proporciona muchas de las funciones estándar que el programador necesita escribir en un sistema de ficheros. A nivel básico, el SGBD proporciona todas las rutinas de manejo de ficheros típicas de los programas de aplicación. El hecho de disponer de estas funciones permite al programador centrarse mejor en la función específica requerida por los usuarios, sin tener que preocuparse de los detalles de implementación de bajo nivel. Mejora en el mantenimiento: En los sistemas de ficheros, las descripciones de los datos se encuentran inmersas en los programas de aplicación que los manejan. Esto hace que los programas sean dependientes de los datos, de modo que un cambio en su estructura, o un cambio en el modo en que se almacena en disco, requiere cambios importantes en los programas cuyos datos se ven afectados. Sin embargo, los SGBD separan las descripciones de los datos de las aplicaciones. Esto es lo que se conoce como independencia de datos, gracias a la cual se simplifica el mantenimiento de las aplicaciones que acceden a la base de datos. Aumento de la concurrencia: En algunos sistemas de ficheros, si hay varios usuarios que pueden acceder simultáneamente a un mismo fichero, es posible que el acceso interfiera entre ellos de modo que se pierda información o se pierda la integridad. La mayoría de los SGBD gestionan el acceso concurrente a la base de datos y garantizan que no ocurran problemas de este tipo. Mejora en los servicios de copias de seguridad: Muchos sistemas de ficheros dejan que sea el usuario quien proporcione las medidas necesarias para proteger los datos ante fallos en el sistema o en las aplicaciones. Los usuarios tienen que hacer copias de seguridad cada día, y si se produce algún fallo, utilizar estas copias para restaurarlos. En este caso, todo el trabajo realizado sobre los datos desde que se hizo la última copia de seguridad se pierde y se tiene que volver a realizar. Sin embargo, los SGBD actuales funcionan de modo que se minimiza la cantidad de trabajo perdido cuando se produce un fallo.
  • 3. Desventajas de las bases de datos Complejidad: Los SGBD son conjuntos de programas que pueden llegar a ser complejos con una gran funcionalidad. Es preciso comprender muy bien esta funcionalidad para poder realizar un buen uso de ellos. Costo del equipamiento adicional: Tanto el SGBD, como la propia base de datos, pueden hacer que sea necesario adquirir más espacio de almacenamiento. Además, para alcanzar las prestaciones deseadas, es posible que sea necesario adquirir una máquina más grande o una máquina que se dedique solamente al SGBD. Todo esto hará que la implantación de un sistema de bases de datos sea más cara. Vulnerable a los fallos: El hecho de que todo esté centralizado en el SGBD hace que el sistema sea más vulnerable ante los fallos que puedan producirse. Es por ello que deben tenerse copias de seguridad (Backup). Objetivos de la base de datos • Asegurarse de que la base de datos pueda ser compartida entre los usuarios de una diversidad de aplicaciones. • Mantener datos que sean precisos y consistentes. • Asegurarse de que todos los datos requeridos para las aplicaciones actuales y futuras estén fácilmente disponibles. • Permitir que la base de datos evolucione y que las necesidades de los usuarios crezcan. • Permitir que los usuarios construyan su vista personal de los datos sin preocuparse de la forma en que estén físicamente guardados los datos. Estructura de una Base de Datos Una base de datos, a fin de ordenar la información de manera lógica, posee un orden que debe ser cumplido para acceder a la información de manera coherente. Cada base de datos contiene una o más tablas, que cumplen la función de contener los campos. Por consiguiente una base de datos posee el siguiente orden jerárquico: Tablas Campos Registros Lenguaje SQL El lenguaje SQL es el más universal en los sistemas de base de datos. Este lenguaje nos permite realizar consultas a nuestras bases de datos para mostrar, insertar, actualizar y borrar datos. Tabla o Entidad Entidad: es cualquier objeto o evento acerca del cual alguien escoge recolectar datos. Una persona, lugar, cosa o idea abstracta sobre la que el sistema necesita recordar algo es considerada entidad; una entidad también puede ser un evento o unidad de tiempo, tal como la descompostura de una máquina, una venta o un mes o año. Una tabla de una base de datos es similar en apariencia a una hoja de cálculo, en cuanto a que los datos se almacenan en filas y columnas. También son llamados Entidades Tipos de Entidades Entidad independiente: es una entidad cuyas instancias pueden identificarse singularmente sin determinar su relación a otra entidad, pero cuando ciertas entidades se relacionan con otras, puedenidentificarse instancias de entidades que dependen de otra.
  • 4. Entidad dependiente: Es una entidad cuya instancias no pueden identificarse de forma singular sin determinar su relación a otra entidad o entidades. Las entidades dependiente o entidad niños incluyen todos o una porción de la clave primaria, y confía en los atributos extranjeros emigrados para la entidad. Tipos de Campos Cada Sistema de Base de Datos posee tipos de campos que pueden ser similares o diferentes. Entre los más comunes podemos nombrar: Numérico: entre los diferentes tipos de campos numéricos podemos encontrar enteros “sin decimales” y reales “decimales”. Booleanos: poseen dos estados: Verdadero “Si” y Falso “No”. Memos: son campos alfanuméricos de longitud ilimitada. Presentan el inconveniente de no poder ser indexados. Fechas: almacenan fechas facilitando posteriormente su explotación. Almacenar fechas de esta forma posibilita ordenar los registros por fechas o calcular los días entre una fecha y otra. Alfanuméricos: contienen cifras y letras. Presentan una longitud limitada (255 caracteres). Autoincrementadles: son campos numéricos enteros que incrementan en una unidad su valor para cada registro incorporado. Su utilidad resulta: Servir de identificador ya que resultan exclusivos de un registro. Registro: Es un conjunto de concepto de datos que tienen algo en común con la entidad descripta. Clave Principal (PK): Es aquella que identifica en forma única a un registro, por ejemplo puede utilizar cliente_id para identificar a cada cliente de una empresa en donde el numero asignado a cliente no puede repetirse para otra instancia de cliente. Tipos de Base de Datos Entre los diferentes tipos de base de datos, podemos encontrar los siguientes: MySql: es una base de datos con licencia GPL basada en un servidor. Se caracteriza por su rapidez. No es recomendable usar para grandes volúmenes de datos. PostgreSql y Oracle: Son sistemas de base de datos poderosos. Administra muy bien grandes cantidades de datos, y suelen ser utilizadas en intranets y sistemas de gran calibre. Access: Es una base de datos desarrollada por Microsoft. Esta base de datos, debe ser creada bajo el programa access, el cual crea un archivo .mdb con la estructura ya explicada. Microsoft SQL Server: es una base de datos más potente que access desarrollada por Microsoft. Se utiliza para manejar grandes volúmenes de informaciones.
  • 5. Modelo entidad-relación (DER) Los diagramas o modelos entidad-relación (denominado por su siglas, DER “Diagram Entity Relationship”) son herramientas para el modelado de datos de un sistema de información. Estos modelos expresan entidades relevantes para un sistema de información, sus inter-relaciones y propiedades. Cardinalidad de las Relaciones Las relaciones entre las tablas de una base de datos pueden darse de las siguientes formas: Relaciones de uno a uno: una instancia de la entidad A, se relaciona con una y solamente una de la entidad B. Relaciones de uno a muchos: cada instancia de la entidad A se relaciona con varias instancias de la entidad B. Relaciones de muchos a muchos: cualquier instancia de la entidad A se relaciona con cualquier instancia de la entidad B. Tipos de Relaciones Relación identificable: La relación identificable se da cuando la pk de la entidad padre migra a la tabla hijo como clave extranjera y ésta pasa a formar parte de la clave primaria (pk) en la tabla hijo. Relación no identificable: La relación no identificable se da cuando la pk de la entidad padre migra a la tabla hijo como clave extranjera y la misma no forma parte de la clave primaria (pk) en la tabla hijo. Entidad Asociativa La relación entre dos tablas o entidades con cardinalidad de muchos a muchos no puede ser aplicada físicamente en una base de datos. Por este motivo se describe o se genera la entidad asociativa, que es el producto de la relación entre las tablas padres y por tanto, ésta entidad contiene las claves de ambas entidades padres. Dependencia Funcional La dependencia es una relación funcional tal que los valores de una (o más de una) de las variables determina y fija el valor de las otras variables en la relación dependiente. Existen tres tipos de dependencia: • Total • Completa • Transitiva Dependencia Total Cuando los campos que no forman parte de la clave primaria dependen totalmente de la clave primaria Ejemplo: Se describen datos de empleados de una empresa Nro. CI (PK) Nombre Direccion Dependencia Completa El concepto de dependencia completa se aplica solamente cuando: • Tenemos más de dos variables, y • Una variable es dependiente de dos o más variables independientes.
  • 6. Ejemplo: Se describen datos de empleados de una empresa Nro_empleado (PK) Nro_CI (clave candidata) Nombre (este campo depende completamente de los anteriores) Dependencia Transitiva Existe cuando uno o más campos de la tabla que no forman parte de la clave primaria dependen de forma transitoria a ésta; es decir estos campos pueden volverse independientes. Ejemplo: Nro. Empleado (PK) Nombre Direccion Ciudad (este campo depende transitivamente de a las anteriores) Normalización Reglas de normalización 1era Forma Normal (FN1). Se pretende garantizar la no existencia de grupos repetitivos. Un grupo repetitivo es un conjunto de atributos de igual semántica en el problema y dominio, que toman valores distintos para la misma clave. Cualquier esquema que tenga claves correctas está seguro en FN1. 2da. Forma Normal (FN2).Si FN1 y cada atributo de la tabla que no forma parte de la clave depende funcionalmente de forma completa de la clave primaria. Es decir, depende de toda la clave y no de ningún subconjunto de ella. Se pretende garantizar una correcta elección de claves y eliminar redundancias. Si la clave está formada por un único atributo entonces ese esquema estará seguro en segunda forma normal. 3ra Forma Normal (FN3). Si FN2 y cada atributo no primo de la tabla no depende funcionalmente de forma transitiva de la clave primaria. Ejercicio de Normalización La Normalización es una técnica de corrección de errores para los modelos de información y no una técnica de construcción.
  • 7. Instrucciones o sentencias básicas en SQL Mostrar: para mostrar los registros se utiliza la instrucción Select. Select * From NOMBRE_TABLA Select campo1,campo2 From NOMBRE_TABLA Insertar: los registros pueden ser introducidos a partir de sentencias que emplean la instrucción Insert. Insert Into NOMBRE_TABLA (campo1,campo2, campo3) Values (valor1, valor2, valor3) Borrar: Para borrar un registro se utiliza la instrucción Delete. En este caso debemos especificar cual o cuales son los registros que queremos borrar. Es por ello necesario establecer una selección que se llevara a cabo mediante la cláusula Where. Delete From NOMBRE_TABLA Where NOMBRE_CAMPO = VALOR Actualizar: para actualizar los registros se utiliza la instrucción Update. Como para el caso de Delete, necesitamos especificar por medio de Where cuáles son los registros en los que queremos hacer efectivas nuestras modificaciones. Además, tendremos que especificar cuáles son los nuevos valores de los campos que deseamos actualizar. Update comentarios Set NOMBRE_CAMPO='Mi Primer Comentario' where NOMBRE_CAMPO =VALOR Nombre de campo Valor Factura Nro. 1376 Nombre José Apellido Campos Nro. teléfono 0528 3222 Artículo martillo cantidad 1 precio unitario act. 3500 Artículo pala cantidad 2 precio unitario act. 7800 Artículo cerrucho cantidad 5 precio unitario act. 5000 iva 4410 total 48510 1. Se solicita realizar la normalización de este archivo individual perteneciente a una ferretería, hasta la tercera forma normal. 2. Luego de cada forma incluir el DER que corresponde a la normalización.