Está en la página 1de 13

FUNDAMENTOS BASE DE DATOS:

Base de datos: 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.
¿Cómo se compone una base 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.
Beneficios base de datos:
 Mayor independencia. Los datos son independientes de las aplicaciones
que los usan, así como de los usuarios.
 Mayor disponibilidad. Se facilita el acceso a los datos desde contextos,
aplicaciones y medios distintos, haciéndolos útiles para un mayor número de
usuarios.
 Mayor seguridad (protección de los datos). Por ejemplo, resulta más fácil
replicar una base de datos para mantener una copia de seguridad que
hacerlo con un conjunto de ficheros almacenados de forma no estructurada.
Además, al estar centralizado el acceso a los datos, existe una verdadera
sincronización de todo el trabajo que se haya podido hacer sobre estos
(modificaciones), con lo que esa copia de seguridad servirá a todos los
usuarios.
 Menor redundancia. Un mismo dato no se encuentra almacenado en
múltiples ficheros o con múltiples esquemas distintos, sino en una única
instancia en la base de datos. Esto redunda en menor volumen de datos y
mayor rapidez de acceso.
 Mayor eficiencia en la captura, codificación y entrada de datos.

Base de datos relacional:


El modelo relacional se sustenta en unos fundamentos matemáticos sólidos y sus
ideas pueden expresarse mediante conceptos de la teoría de conjuntos. Además de
las denominaciones habituales de tabla, fila y columna, existe una terminología
específica empleada al referirse a las bases de datos relacionales. Así, en el modelo
relacional los datos se organizan en tablas bidimensionales, cada una de ellas con
información relativa a una determinada entidad. La tabla en sí se conoce como
relación, ya que recoge la relación existente entre sus elementos, y constituye así
el eje central del modelo relacional. Dentro de la tabla, los datos están organizados
a su vez en filas y columnas. Las columnas representan los distintos atributos
asociados a la entidad, mientras que las filas conforman los distintos registros. Una
fila se forma con un conjunto de $n$ atributos, constituyendo una tupla.

Las relaciones son, por tanto, un conjunto de tuplas asociadas a un esquema.

Terminología habitual Modelo relacional


Tabla Relación
Fila Tupla
Columna Atributo
Número de filas Cardinalidad
Valores posibles Dominio

Fases del diseño de una base de datos relacional:

Modelo entidad relación:


Un modelo de entidad relación es una herramienta para el modelo de datos, la cual
permite representar entidades de una Base de Datos

 Se elabora el diagrama (o diagramas) entidad-relación.


 Se completa el modelo con listas de atributos y una descripción de otras
restricciones que no se pueden reflejar en el diagrama.

El modelado de datos no acaba con el uso de esta técnica. Son necesarias otras
técnicas para lograr un modelo directamente implementable en una base de datos.
Brevemente:

Permite mostrar resultados entre otras entidades pertenecientes a las existentes de


manera que se encuentre la normatividad de archivos que se almacenarán.

 Transformación de relaciones múltiples en binarias.


 Normalización de una base de datos de relaciones (algunas relaciones
pueden transformarse en atributos y viceversa).
 Conversión en tablas (en caso de utilizar una base de datos relacional).

Cardinalidad de las Relaciones


El diseño de relaciones entre las tablas de una base de datos puede ser la siguiente:
 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.

Diseño Conceptual
Durante esta fase, plasmaremos nuestras entidades y las relaciones que existirán
entre ellas. Cada entidad la identificaremos con un rectángulo y dentro de este
colocaremos su nombre. A cada entidad le colocaremos sus respectivos atributos y
resaltaremos el atributo principal, aquel atributo que identificará cada registro de
manera única. Y por último crearemos las relaciones que existen entre dichas
entidades.
Aquí no te preocupas por el motor de bases de datos aún.
Diseño Lógico
Aquí podemos tabular nuestro diseño conceptual. Este proceso es más utilizado
que el anterior (no debería ser así), ya que cuando ya llevas bastante trabajando en
bases de datos, el proceso tabular es más rápido de realizar y vemos resultados
más rápidamente. En esta fase, debemos pensar en cómo normalizar nuestras
tablas para evitar duplicidad de información y para ahorrar espacio de
almacenamiento. Esto último (ahorrar espacio) ya no es tan importante como hace
algunos años, incluso hoy en día hablamos de inteligencia de negocios, minería de
datos, entre otros términos que nos exigen eliminar la normalización, pero de eso
hablaremos en otros posts. Para este proceso, las herramientas de modelado te
ayudan bastante a ver las relaciones de las tablas. En teoría, aquí tampoco te
preocupas por el motor, ya que el modelo tabular es igual en todos los motores de
bases de datos relacionales.
Diseño físico
En esta última fase ya debemos revisar a detalle los tipos de datos que utilizaremos,
sus dominios (qué valores va a permitir), cuales índices debemos crear para
optimizar las consultas, entre otros. Aquí ya escribimos nuestro SQL para plasmar
todo nuestro diseño en el motor de bases de datos elegido.

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.
En el siguiente ejemplo mostramos una tabla “comentarios” que contiene 4 campos.

Por consiguiente, una base de datos posee el siguiente orden jerárquico:


 Tablas
 Campos
 Registros
 Lenguaje SQL

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.

Normalización
En principio, la información de una base de datos relacional podría guardarse sin
problemas en una sola tabla, con la ventaja de que no sería necesario interconectar
diversas tablas ni utilizar la compleja sintaxis derivada de las consultas a varias
tablas diferentes. Sin embargo, es aquí precisamente donde reside la fuerza del
modelo relacional, pues el reparto de información en varias tablas contribuye a
reducir las entradas dobles (las llamadas anomalías), un proceso que se conoce
como “normalización”. El grado de normalización de una tabla puede definirse a
partir de varias formas normales:

 Primera forma normal (1FN)


 Segunda forma normal (2FN)
 Tercera forma normal (3NF)
 Forma normal de BoyceCodd (FNBC)
 Cuarta forma normal (4FN)
 Quinta forma normal (5FN)

Los requisitos de cada una de estas formas normales y la translación de una base
de datos de una forma normal a otra son temas de nuestro artículo sobre la
normalización.

En este modelo de datos se llama “relaciones” a las relaciones entre tablas


separadas por medio de claves. Estas claves son las que conectan las tablas entre
sí y permiten que los datos de tablas diferentes puedan consultarse o modificarse
siempre con la misma sentencia.

Claves: los atributos que sirven para identificar un registro de forma inequívoca.

Clave primaria: Una clave primaria es una columna o un conjunto de columnas en


una tabla cuyos valores identifican de forma exclusiva una fila de la tabla. Una base
de datos relacional está diseñada para imponer la exclusividad de las claves
primarias permitiendo que haya sólo una fila con un valor de clave primaria
específico en una tabla.

Clave foránea: Una clave foránea es una columna o un conjunto de columnas en


una tabla cuyos valores corresponden a los valores de la clave primaria de otra
tabla. Para poder añadir una fila con un valor de clave foránea específico, debe
existir una fila en la tabla relacionada con el mismo valor de clave primaria.

*Investigar UQ BIN UN ZF AI NN PK – Mysql Workbench

 UQ - Create/remove Unique Key (Crear o remover llave unica).

 BIN - Binary (stores data as binary strings. There is no character set so sorting
and comparison is based on the numeric values of the bytes in the values.)
[Almacena datos como strings binaries. No hay personaje elejido para
ordenar y comparar si se basa en valores numéricos de bytes en los valores.]

 UN - Unsigned (non-negative numbers only. so if the range is -500 to 500,


instead its 0 - 1000, the range is the same but it starts at 0) [Solo numeros no
negativos, entonces el rango -500 a 500 automaticamente pasa a ser 0 –
1000, el rango es el mismo pero empieza del 0.]

 ZF - ZF - Zero-Filled (if the length is 5 like INT (5) then every field is filled with
0’s to the 5th digit. 12 = 00012, 400 = 00400, etc.) [Si la longitud es 5 como
INT (5) entonces cualquier campo es llenado con 0´s hasta el 5to digito.]
 AI - Auto Increment (El valor del campo es incrementado automáticamente,
ocurre en toda la columna.)

 NN - NOT NULL (No permite que el campo quede sin dato, no nulo.)

 PK - PRIMARY KEY (Indica que el atributo será una llave primaria.)

 G – Generated colum (Genera una columna.)

Investigar tipos de relaciones:


Tipos de relaciones en la base de datos:

 Relación de uno a varios (1,n). Se crea una relación de uno a varios si uno
de los campos relacionados es una clave principal. Esta relación es la más
común. Cada registro de una tabla puede estar enlazado con varios registros
de una segunda tabla, pero cada registro de la segunda sólo puede estar
enlazado con un único registro de la primera.

 Relación de uno a uno (1,1). Se creará una relación de este tipo si ambos
campos relacionados son claves principales. En este tipo de relación, un
registro de la tabla uno sólo puede estar relacionado con un único registro de
la tabla dos y viceversa. No es muy usada.

 Relación de varios a varios (n,m). En este caso, ninguno de los campos


relacionados son claves principales. Cada registro de la primera tabla puede
estar enlazado con varios registros de la segunda y viceversa. Este tipo de
relación implica la repetición de los campos de cada tabla; esto es lo que
Access pretende evitar. Para establecer relaciones de este tipo, es necesario
crear una tabla intermedia que esté relacionada con las dos de uno a varios.
Comandos básicos de manejo SQL:
 COMANDO SQL: SELECT
FUNCIONALIDAD: Permite obtener los datos existentes sea para alguNoS
campos o todos los campos de la tabla.

 COMANDO SQL: INSERT


FUNCIONALIDAD: Permite ingresar registros en la tabla.

 COMANDO SQL: UPDATE


FUNCIONALIDAD: Permite actualizar uno o varios campos para todos los
registros de una tabla.

 COMANDO SQL: DELETE


FUNCIONALIDAD: Permite eliminar los datos de una tabla.

 COMANDO SQL: REPLACE


FUNCIONALIDAD: Permite reemplazar una parte del texto contenido en un
campo de la consulta.

 COMANDO SQL: TRUNCATE


FUNCIONALIDAD: Permite eliminar todos los datos de una tabla. Sin
embargo, el comando DELETE también permite hacer lo mismo al no
establecerle condiciones dentro de la sentencia SQL.

 COMANDO SQL: WHERE


FUNCIONALIDAD: Permite establecer condiciones a la sentencia SQL para
los comandos SELECT, UPDATE, DELETE.

 COMANDO SQL: AND


FUNCIONALIDAD: Permite asignarle dos o más condiciones a la sentencia
SQL, en donde se tendrán en cuenta los registros que cumplan todas las
condiciones establecidas.
 COMANDO SQL: OR
FUNCIONALIDAD: Permite asignarle dos o más condiciones a la sentencia
SQL, en donde se tendrán en cuenta los registros que cumplan al menos una
de las condiciones establecidas.

 COMANDO SQL: IN BETWEEN


FUNCIONALIDAD: Permite obtener los registros dentro de un rango el cual
se encuentra entre el valor 1 y valor2 del campo definido en la sentencia SQL.

 COMANDO SQL: LIKE


FUNCIONALIDAD: Permite obtener los registros que contengan el patrón en
cualquier posición dentro del campo donde se realiza la validación.

 COMANDO SQL: ORDER BY


FUNCIONALIDAD: Permite ordenar los registros obtenidos por la consulta
de forma ASCDENTE (ASC) o DESCENDENTE (DESC) a partir del campo
o campos seleccionados para definir el ordenamiento.

 COMANDO SQL: GROUP BY


FUNCIONALIDAD: Permite agrupar el resultado de una función matemática
para un campo determinado.

 COMANDO SQL: HAVING


FUNCIONALIDAD: Permite definir una condición a la función matemática que
se implementa en la sentencia SQL.

 COMANDO SQL: ALIAS


FUNCIONALIDAD: Permite hacer más legible el resultado de la consulta a
partir de la definición clara del nombre de los campos que se visualizaran en
la consulta.

 COMANDO SQL: AVG


FUNCIONALIDAD: Permite calcular la media aritmética para el campo
seleccionado dentro de la consulta SQL.
 COMANDO SQL: COUNT
FUNCIONALIDAD: Permite obtener el número de registros resultado de la
consulta.

 COMANDO SQL: MAX


FUNCIONALIDAD: Permite obtener el valor máximo para el campo
seleccionado dentro de la consulta SQL.

 COMANDO SQL: MIN


FUNCIONALIDAD: Permite obtener el valor mínimo para el campo
seleccionado dentro de la consulta SQL.

 COMANDO SQL: SUM


FUNCIONALIDAD: Permite obtener la sumatoria de los valores obtenidos
para el campo seleccionado dentro de la consulta SQL.

 COMANDO SQL: DISTINCT


FUNCIONALIDAD: Evita la duplicidad de datos obtenidos en la consulta para
el campo seleccionado.

 COMANDO SQL: CONCAT


FUNCIONALIDAD: Permite concatenar los caracteres de varios campos
seleccionados dentro de la consulta.

 COMANDO SQL: SUBSTRING


FUNCIONALIDAD: Permite obtener una porción de caracteres a partir de la
posición inicial y final definida en la consulta.

 COMANDO SQL: SUBSTR


FUNCIONALIDAD: Permite obtener una porción de caracteres a partir de la
posición inicial y final definida en la consulta.

 COMANDO SQL: TRIM


FUNCIONALIDAD: Permite eliminar los espacios en blanco en los extremos
de una cadena para el campo seleccionado dentro de la consulta.

*Planteamiento: crear diagrama entidad-relación para un “sistema de control


de vuelos” adaptado a las siguientes reglas:

*Reglas están en IMG del grupo.

También podría gustarte