Mapa mental de bases de datos creado en Freemind
Get the Flash Player to see this player.
Definicion
Una base de datos es un conjunto de datos que pertenecen a un mismo contexto y son almacenados de manera sistematica para su uso posterior. En este sentido una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. En la actualidad se utilizan programas llamados sistemas gestores de bases de datos DBMS en ingles Data Base Management Systemas, con los que se puede almacenar y posteriormente acceder a los datos de forma rápida y estructurada.
Usos
Las aplicaciones más comunes son para la gestión de informacion dentro de empresas, instituciones u organizaciones ya sean publicas o privadas; También son muy utilizadas en el ambito científicos para almacenar y organizar informacion que surge de los experimentos. Como ejemplo estan el amplio uso de bases de datos en campos de la Biologia, Finanzas, Educacion, Mercadotecnia e investigaciones de mercado, etc.
Modelado
Definicion
El modelo de base de datos es una clase de modelo de datos que define la estructura lógica de la base de datos y determina la forma de almacenar, organizar y manipular los datos y de manera consecuente la foma o eficiencia como seran extraidos los datos.
Tipos de Modelado
- Modelo jerarquico
El modelo de datos jerárquico es un modelo en el que los datos se organizan en una estructura que se asemeja a un árbol. La estructura usa relaciones padre/Hijo: cada padre puede tener muchos hijos pero cada hijo sólo tiene un padre.
- Modelo de red
El modelo de red es una base de datos creada por una colección o set de registros, estos registros están conectados entre sí por medio de enlaces en una red. El registro es similar al de una entidad como las empleadas en el modelo relacional. En una estructura de base de datos de red los nodos hijo pueden tener más de un nodo padre
- Modelo relacional
La estructura basica del modelo relacional es la relación, es decir una tabla bidimensional constituida por filas (tuplas) y columnas (atributos). Las relaciones representan las entidades que se consideran relevantes en la base de datos. Los atributo de la relacion representan la propiedades de cada entidad. El modelo relacional para la administacion de bases de datos es un modelo de datos basado en la lógica de predicados y en la teoría de conjuntos.
- Modelo Entidad-Relacion
El diagrama o modelo entidad-relación tambien llamado E-R, permite representar las entidades relevantes de un sistema de información así como sus interrelaciones y propiedades (atributos). E modelo E-R es un modelado conceptual de datos, considerado de alto nivel, que es utilizado como base en el diseño de bases de datos relacionales. Las entidades se representan gráficamente mediante rectángulos. Toda entidad está conformada de atributos, los cuales son las características que definen e identifican a las entidades, lo atributos se representan con ovalos generalmente. Las entidades se encontrarán ligadas entre sí, y se utilizará el término relación para descibir esta union, las relaciones se representan con rombos.
- Modelo de objetos
En una base de datos orientada a objetos, la información se representa mediante objetos como se hace en la programación orientada a objetos. La técnica de modelado de objetos propone una forma abstracta de pensamiento acerca de problemas a resolver, empleando conceptos del mundo real, y no conceptos técnicos informáticos. El Objeto (instancia de clase) es algo real, abstracto, acerca del cual se almacenan datos y métodos; por otra parte, cuando se dice orientado a objetos, significa que el software se organiza como una colección de objetos que contiene estructuras de datos y comportamiento.
SGBD
Definicion
Un sistema de gestión de bases de datos SGBD o en ingles (DBMS) es un conjunto de programas que permiten almacenar, modificar y extraer la información en una base de datos, tambien proporcionan los medios para añadir, borrar, editar y analizar u odenar los datos. Los usuarios del SGBD pueden tener acceso a la información usando herramientas internas del SGBD o mediante el uso de apicaciones que se conecten a la base de datos creada y administrada con el SGBD.
Estructura de SGBD
- Procesador de Consultas
- Gestor
- Gesto de ficheros
- Lenguaje de Manipulacion de Datos (DML)
- Data Definition Language
- Diccionario de Datos
- Gestor de Diccionario
- Contros de Autorizacion
- Optimizador de consultas
- Gestor de transacciones
- Planificador
- Gestor de recuperacion
- Gestor de buffers
Algunos SGBDs
- MySQL
- PostgreSQL
- Oracle
- DB2
- Microsoft SQL server
Proceso
Recopilacion de Informacion
Cuestionario
Entrevista
Encuesta
Estudio de Factibilidad, Economico y financiero
Objetivos del sistema
Alcances
Restricciones
Requierimientos de Hardware y software
Analisis
De primera instancia se deben detectar los hechos relevantes relacionados con la actividad de la empresa, la función es reunir información y determinar los requerimientos, para así pasar al análisis y el diseño También es importante determinar a los usuarios finales; estos se agrupan en cuatro categorías: Usuarios primarios Usuarios indirectos Usuarios gerentes Usuarios directivos
Estructura de Entradas, Procesos y Salidas
Modelado de datos
Modelo Entidad-Relacion
Modelado de Objetos
Normalizacion
Modelo relacional
Generacion de diccionario de datos
Tipos
De Red
Jerarquica
Relacional
Algebra Relacional
El álgebra relacional es definida como un conjunto de operadores de alto nivel que trabajan sobre relaciones. Esto significa que estas operaciones usan una o dos relaciones existentes para crear una nueva relación. Esta nueva relación puede entonces usarse como entrada para una nueva operación. Este concepto – la creación de una nueva relación a partir de las relaciones existentes— hace posible una variedad infinita de manipulaciones sobre los datos. Eso también hace considerablemente más fácil la solución de las consultas, gracias a que se puede experimentar con soluciones parciales hasta encontrar una proposición definitiva.
UNION: La operación de unión (∪) permite combinar los datos de dos relaciones. Se debe señalar un requisito especial de la operación de unión que la hace ligeramente diferente de la unión de conjuntos de Matemáticas. En Matemáticas, dos conjuntos cualesquiera pueden ser combinados a través de la operación unión. Pero en el álgebra relacional, antes de aplicar la unión a las dos relaciones, estas deben tener exactamente las mismas columnas, tanto en número de columnas como en el dominio de las mismas.
INTERSECCION: La operación de intersección (∩) permite identificar los campos que son comunes en dos relaciones. El resultado de una operación de intersección es la relación que consiste en todas las filas que están en ambas relaciones. Esto significa que si C es la intersección de A y B: C:= A n B Entonces C consta de aquellas filas que están en A y B. Al igual que antes, A y B deben ser unión compatible.
DIFERENCIA: La operación de diferencia (-) permite identificar filas que están en una relación y no en otra. La diferencia entre dos relaciones se define como la relación consistente en todas las filas que están en la primera relación, y no están en la segunda relación. Así, si: C:= A – B Entonces una fila está en C si y solo si está en A y no está en B.Observe que A – B no es lo mismo que B – A.
PRODUCTO: La operación producto (*) es valiosa como un bloque para la construcción de una reunión (JOIN), que es probablemente la operación más importante en el álgebra relacional. La operación producto es idéntica a la operación en Matemáticas que crea el producto cartesiano de dos conjuntos. C:= A * B Observe que el producto se crea: 1. Concatenando los atributos de las dos relaciones. 2. Uniendo cada fila en A, con cada una de las filas en B.
SELECCION: La operación de selección (=) se usa para crear una relación a partir de otra relación, seleccionando solo aquellas filas que satisfacen una condición específica.
PROYECCION (Π): se necesita alguna manera de eliminar las columnas no deseadas en una consulta. Si la operación de selección puede pensarse como la eliminación de las filas no deseadas, la operación de proyectar se piensa como la eliminación de las columnas no deseadas . La relación que resulta de una operación de proyectar se llama una proyección de la relación original. A diferencia de otras operaciones del álgebra relacional, la operación de proyectar no requiere de una palabra clave especial o símbolo. Más bien, para crear una proyección —una relación consistente solo de ciertas columnas identificadas de otra relación— se enlista simplemente la relación original seguida de las columnas que se quieren conservar encerradas entre corchetes. VENDEDOR [ NOMB_VENDEDOR] y se eliminan todas las demas columnas dejando solo la columa de nombre del vendedor.
REUNION Conocida como JOIN, sirve para conectar datos a través de relaciones, es la función más importante en cualquier lenguaje de base de datos. Se conocen varias versiones que son las siguientes: la reunión natural (natural join) la reunión theta (theta join) y la reunión externa (outer join) de las cuales la más importante es la reunión natural. La definición general de la reunión natural es la siguiente: se asume que se quiere tomar la reunión natural de dos relaciones, A y B, las cuales tienen las columnas C1,…,Cn en común. Entonces JOIN (A, B) se obtiene a través de los siguientes pasos: Tomar el producto de A y B. La relación resultante tendrá las dos columnas para cada C1,…,Cn. Eliminar todas las filas del producto, acepto aquellas en las cuales los valores de las columnas C1,…Cn en A son iguales, respectivamente, a los valores de esas columnas en B. Proyectar una copia de las columnas C1,…Cn
DIVISION A:= PI_VI/PI (B*C)/C=B entonces vemos la analogía con la aritmética común del porqué se ha llamado operación de división. Codd la incluyó en el álgebra relacional para proporcionar la capacidad necesaria para el cuantificador universal del cálculo relacional. De manera práctica, la operación de división se proporcionó para que se pudieran relacionar consultas que involucraran “cada” o “todo” como parte de la condición.
ASIGNACION Asignación es la operación estándar de los lenguajes de computación, que consiste en dar un valor a un nombre. En este caso la asignación se usa para dar un nombre a una nueva relación que se crea de relaciones existentes. Se usa el signo ?:=? (es el nombre asignado a) para indicar la asignación de nombres a relaciones.
Lenguaje de consulta
SQL SQL permite la realización de consultas y actualizaciones sobre datos almacenados en tablas relacionales, como ya se ha mencionado antes. SQL permite: · Definir y destruir objetos de las bases de datos. · Conceder y denegar autorizaciones para usar estos objetos. · Consultar y actualizar datos.
Definicion
Structured Query Language (Lenguaje Estructurado de Consultas), Es un lenguaje de programacion especial, diseñado para manejar datos dentro de un Sistema Manejador de Bases de Datos Relacionales SMBDR
Instrucciones SQL El SQL se puede traducir como Lenguaje Estructurado de Consultas (Structured Query Language). SQL es un lenguaje de consultas estructurado y de programación de bases de datos relacionales utilizado para accesar, consultar, actualizar y gestionar información, que permite realizar diversos tipos de operaciones; es utilizado casi siempre con el álgebra relacional, que permite explotar de manera más eficiente la información y tiene la capacidad de aplicar cálculos matemáticos. Aunque el lenguaje SQL se considere un lenguaje de consultas de Bases de datos, contiene muchas otras capacidades como las siguientes: · Incluye características para definir la estructura de los datos · Para la modificación de ellos en la base de datos y para la especificación de restricciones de seguridad. · Actualmente numerosos productos son compatibles con el lenguaje SQL. SQL es el lenguaje abierto y más comercial en el mercado, se debe remarcar la importancia de cada uno de sus componentes de manera general, los cuales se abordan a continuación.
- DDL (Data Definition Language)
CREATE
DROP
ALTER
RENAME
- DML (Data Manipulation Language)
SELECT
INSERT
UPDATE
DELETE
- Clausulas
FROM
WHERE
GROUP BY
HAVING
ORDER BY
- Operadores Logicos
AND
OR
NOT
- Operadores de Comparacion
< Menor que
> Mayor que
<> Distinto de
<= Menor o igual que
>= Mayor o igual que
= Igual que
BETWEEN Utilizado para especificar un intervalo de valores.
LIKE Utilizado en la comparación de un modelo.
IN Utilizado para especificar registros de una base de datos.
- Otros operadores
AVG Utilizada para calcular el promedio de los valores de un campo determinado.
COUNT Utilizada para devolver el número de registros de la selección.
SUM Utilizada para devolver la suma de todos los valores de un campo determinado.
MAX Utilizada para devolver el valor más alto de un campo especificado.
MIN Utilizada para devolver el valor más bajo de un campo especificado.
Estructura
SELECT…. FROM…….WHERE….
INSERT ….INTO……VALUES……
UPDATE……. SET……. WHERE
DELETE ……FROM……. WHERE
Tipos de Datos
- Numericos Exactos
Integer
SmallInteger
Numeric
Decimal
- Apoximados
Real
DoublePrecision
Float
- Cadena de Caracteres
Character
CharacterVarying
Cadenas de bits
- Fechas y horas
Date
Time
Timestamp
Time con tiempo zona
TimeStamp con tiempo zona
Intervalos
year-month
Date_time
Base de datos RELACIONALES
Las bases de datos relacionales, que en la actualidad son las más utilizadas, trabajan a través de tablas, que están conformadas de filas y columnas para la realización de sus búsquedas y otras operaciones. Estas tablas se encuentran relacionadas entre sí, de ahí el nombre de relacional. la estructura del modelo relacional está fundamentada por la relación, es decir, una tabla bidimensional constituida por filas (tuplas) y columnas (atributos). Sus relaciones se presentan en las tablas que están formando parte de la base de datos. Todas y cada una de las instancias de la entidad encontrarán sitio en una tupla de la relación, mientras que los atributos de la relación representan las propiedades de la entidad en las columnas de la tabla.
Definicion
Las Bases de Datos Relacionales, son bases de datos que se ajustan al modelo relacional, que es el modelo más utilizado en la actualidad para implementar bases de datos. Las bases de datos relacionales establecen interconexiones (relaciones) entre los datos (que están guardados en tablas), y a través de estas conexiones relacionan los datos de las otras tablas de la base de datos.
Caracteristicas
Los datos y las relaciones se presentan en tablas de 2 dimensiones
Cada tabla es una representacion fisica de una entidad u objeto
Las tablas estan creadas con filas y columnas, las columnas son atributos o campos y las filas contieien los valores datos de instancias
Las relaciones existen tanto entre las columnas de una tabla como entre tablas
Relaciones
1 a 1
1 a muchos
muchos a muchos
Las bases de datos pueden tener 2 o mas tablas
Dos tablas no pueden tener el mismo nombre
Cada tabla esta compuesta por registros (filas y columnas)
Las tablas se relacionan por medio de las llaves primarias y llaves foraneas
Elementos
Campos
Son los atributos o campos, por ejemplo el atibuto edad, nombre, sexo de la entidad persona
Dominios
Es el tipo o ango de valorer que puede tomar un campo
Tuplas
Es una instancia de una entidad, por ejemplo el objeto persona: «Juan», «34», «Masculino», «Casado»
Vistas
Es un conjunto de tuplas que se muestra como resultad de ejecutar alguna query o peticion
Primary Keys
Las llaves primarias son campos únicos que identifican a la información como única e irrepetible; que no permiten duplicidad de información
Foreign Keys
llaves foráneas, también llamadas llaves externas, son campos que hacen la relación entre las tablas existentes en la base de datos, estas llaves deben de existir primero en otras tablas como llaves primarias.
Normalizacion
Definicion
La teoría de la normalización tiene como fundamento el concepto de formas normales. Se dice que una relación está en una determinada forma normal si satisface un cierto conjunto de restricciones. El proceso de normalización de bases de datos se basa en aplicar reglas a las relaciones obtenidas en el paso del modelo entidad-relación al modelo relacional. Las bases de datos relacionales se normalizan para: Evitar redundancia de los datos. Facilitar la actualización de los datos en las tablas. Fortaecer la proteccion e integridad de los datos. Las principales fomas nomales para Codd, son: 1FN, 2FN, 3FN, posteriormente se intoducen 4FN y 5FN. Generalmente las 3 primeras fomas normales son las mas escenciales.
Formas Normales
- 1er Foma Normal
Primera Forma Normal (1FN) Para que una tabla este en Primera Forma Normal debe aseguar que los atributos sean atómicos. Los atributos son atómicos si los elementos del dominio son indivisibles. La tabla tiene una clave primaria única. La clave primaria no tiene atributos que sean nulos. Debe Existir una independencia del orden tanto de las filas como de las columnas, es decir, si los datos cambian de orden no deben cambiar sus significados. Una tabla no puede tener múltiples valores en cada columna. Los datos son atómicos (a cada valor de X le pertenece un valor de Y y viceversa). La forma normal 1FN elimina los valores repetidos dentro de la Base de Datos.
- 2a Forma Normal
La segunda forma normal (2FN) está basada en el concepto de dependencia plena y en las interrelaciones existentes entre los atributos principales (que se encuentran en alguna de las claves) y no principales (que no se encuentran en ninguna clave) de una relación. Una relación está en 2FN si está en 1FN y si los atributos que no forman parte de ninguna clave dependen de forma completa de la clave principal. En otras palabas no existen dependencias parciales. (Todos los atributos que no son clave principal o pertencecen a la clave pincipal deben depender solamente de la clave principal).
- 3a Forma Normal
La tabla esta en 3FN si esta en 2FN y si no existe ninguna dependencia funcional transitiva entre los atributos que no son clave. La tercera forma normal no se cumple cuando hay atributos no principales que dependen funcionalmente de otros atributos no principales.
- Foma Normal Boyce-Codd
La tabla se encuentra en FNBC si cada determinante, atributo que determina completamente a otro, es clave candidata.
- 4a Forma Normal
Una tabla esta en 4FN si, y sólo si, para todas las dependencias múltiples no funcionales X->->Y, siendo X una super-clave que, X es o una clave candidata o un conjunto de claves primarias.
- 5a Forma Normal
Una tabla esta en 5FN si: La tabla está en 4FN y no existen relaciones de dependencias no triviales que no siguen los criterios de las claves. Una tabla que esta en la 4FN se dice que está en la 5FN si, y sólo si, todas las relaciones de dependencia se encuentran definidas por claves candidatas.