Bases de Datos SQL

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 18

Introducción

Una base de datos incluye información masiva depositada en un marco, lo que


facilita la localización y exploración de información relevante. Una base de datos bien
diseñada contiene información precisa y actualizada para análisis e informes. No
podemos enfatizar lo suficiente en la importancia de una base de datos para una empresa
que maneja montones de datos con regularidad. El diseño de la base de datos puede
desempeñar un papel crucial a la hora de ejecutar consultas de forma eficiente y
garantizar la coherencia de la información.

SQL (Structured Query Language - Lenguaje Estructurado de Consulta) es un


lenguaje estándar utilizado para crear, modificar, mantener y consultar una base de datos
relacional.

Las sentencias SQL pueden ser clasificadas en dos grupos:

- DDL (Data Definition Languaje - lenguaje de definición de datos)


- DML (Data Manipulation Languaje - lenguaje de manipulación de datos)

Estos dos lenguajes no son lenguajes en sí mismos, sino que es una forma de clasificar
las sentencias de lenguaje SQL en función de su cometido. La diferencia principal reside
en que el DDL crea objetos en la base de datos y sus efectos se pueden ver en el
diccionario de la base de datos; mientras que el DML es el que permite consultar, insertar,
modificar y eliminar la información almacenada en los objetos de la base de datos.

También existen las sentencias para control de datos:

DCL (Data Control Language – lenguaje de control de datos)


Bases de Datos SQL

1.- Sentencias de definición

DDL (Data Definition Language): El lenguaje de definición de datos (en inglés


Data Definition Language, o DDL), es el que se encarga de la modificación de la
estructura de los objetos de la base de datos. Incluye órdenes para modificar, borrar o
definir las tablas en las que se almacenan los datos de la base de datos. Existen cuatro
operaciones básicas: CREATE, ALTER, DROP, TRUNCATE, COMMENT, RENAME.

- Sentencias de DDL

CREATE: Utilizado para crear nuevas tablas, campos e índices.


ALTER: Utilizado para modificar las tablas agregando campos o cambiando la definición
de los campos.

DROP: Empleado para eliminar tablas e índices.

TRUNCATE: Empleado para eliminar todos los registros de una tabla.

COMMENT: Utilizado para agregar comentarios al diccionario de datos.

RENAME: Tal como su nombre lo indica es utilizado para renombrar objetos.

2.- Sentencias de Manipulación

DML (Data Manipulation Language): Un lenguaje de manipulación de datos (Data


Manipulation Language, o DML en inglés) es un lenguaje proporcionado por el sistema de
gestión de base de datos que permite a los usuarios llevar a cabo las tareas de consulta o
manipulación de los datos, organizados por el modelo de datos adecuado.

El lenguaje de manipulación de datos más popular hoy día es SQL, usado para
recuperar y manipular datos en una base de datos relacional.

- Sentencias de DML

SELECT: Utilizado para consultar registros de la base de datos que satisfagan un criterio
determinado.

INSERT: Utilizado para cargar de datos en la base de datos en una única operación.

UPDATE: Utilizado para modificar los valores de los campos y registros especificados

DELETE: Utilizado para eliminar registros de una tabla de una base de datos.

MERGE - Operación UPSERT (insertar o actualizar)

CALL - llamar a un subprograma PL / SQL o Java

EXPLAIN PLAN - interpretación de la ruta de acceso a los datos


LOCK TABLE - Control de concurrencia

3.- Sentencias de Control

DCL (Data Control Language): Un Lenguaje de Control de Datos (DCL por sus
siglas en inglés: Data Control Language) es un lenguaje proporcionado por el Sistema de
Gestión de Base de Datos que incluye una serie de comandos SQL que permite crear
roles, permisos e integridad referencial, así como el control al acceso a la base de datos.

- Sentencias de DCL

GRANT: Usado para otorgar privilegios de acceso de usuario a la base de datos.

REVOKE: Utilizado para retirar privilegios de acceso otorgados con el comando GRANT.

4.- Sublenguajes especializados

Para utilizar el SQL desde un lenguaje de programación, podemos utilizar el SQL


hospedado, y para trabajar con éste necesitamos un precompilador que separe las
sentencias del lenguaje de programación de las del lenguaje de bases de datos. Una
alternativa muy interesante a esta forma de trabajar son las rutinas SQL/CLI.

- SQL Hospedado

Para crear y manipular una base de datos relacional necesitamos SQL. Además, si
la tarea que queremos hacer requiere el poder de procesamiento de un lenguaje de
programación como Java, C, Cobol, Fortran, Pascal, etc., podemos utilizar el SQL
hospedado en el lenguaje de programación elegido. De este modo, podemos utilizar las
sentencias del SQL dentro de nuestras aplicaciones, poniendo siempre delante la palabra
reservada EXEC SQL*.

Para poder compilar la mezcla de llamadas de SQL y sentencias de programación,


antes tenemos que utilizar un precompilador. Un precompilador es una herramienta que
separa las sentencias del SQL y las sentencias de programación. Allá donde en el
programa fuente haya una sentencia de acceso a la base de datos, se debe insertar una
llamada a la interfaz del SGBD. El programa fuente resultante de la precompilación ya
está únicamente en el lenguaje de programación, preparado para ser compilado, montado
y ejecutado.

Todas las sentencias de definición, manipulación y control que hemos visto para el
SQL se pueden utilizar en el SQL hospedado, pero precedidas de la cláusula EXEC SQL.
Sólo habrá una excepción: cuando el resultado de una sentencia SQL obtenga más de
una fila o haga referencia también a más de una, deberemos trabajar con el concepto de
cursor.

Un cursor se tiene que haber declarado antes de su utilización (EXEC SQL


DECLARE nombre_cursor CURSOR FOR). Para utilizarlo, se debe abrir (EXEC SQL
OPEN nombre_cursor), ir tomando los datos uno a uno, tratarlos (EXEC SQL
FETCH nombre_cursor INTO), y finalmente, cerrarlo (EXEC SQL CLOSE
nombre_cursor).
- Las SQL/CLI

Las SQL/CLI (SQL/Call-Level Interface), denominadas de forma abreviada CLI,


permiten que aplicaciones desarrolladas en un cierto lenguaje de programación (con sólo
las herramientas disponibles para este lenguaje y sin el uso de un precompilador) puedan
incluir sentencias SQL mediante llamadas a librerías. Estas sentencias SQL se deben
interpretar en tiempo de ejecución del programa, a diferencia del SQL hospedado, que
requería el uso de un precompilador.
La interfaz ODBC (Open Database Connectivity) define una librería de funciones
que permite a las aplicaciones acceder al SGBD utilizando el SQL. Las rutinas SQL/CLI
están fuertemente basadas en las características de la interfaz ODBC, y gracias al trabajo
desarrollado por SAG-X/Open (SQL Access Group-X/Open), fueron añadidas al estándar
ANSI/ISO SQL92 en 1995.

Las SQL/CLI son simplemente rutinas que llaman al SGBD para interpretar las
sentencias SQL que pide la aplicación. Desde el punto de vista del SGBD, las SQL/CLI se
pueden considerar, simplemente, como otras aplicaciones.

Introducción al Diseño de Bases de Datos

1.- Introducción al diseño de bases de datos

Una base de datos correctamente diseñada permite obtener acceso a información


exacta y actualizada. Puesto que un diseño correcto es esencial para lograr los objetivos
fijados para la base de datos, es lógico emplear el tiempo que sea necesario en aprender
los principios de un buen diseño.

El diseño de una base de datos es un proceso que se guía por varios principios
bien definidos, partiendo de un dominio del cual se obtendrá un modelo conceptual,
seguidamente un modelo lógico, al cual se le debe aplicar normalización y finalmente
obtener un modelo físico y poder implementarlo.

El diseño de una base de datos no es un proceso sencillo. Habitualmente, la


complejidad de la información y la cantidad de requisitos de los sistemas de información
hacen que sea complicado; por este motivo, cuando se diseñan bases de datos es
interesante aplicar la vieja estrategia de dividir para vencer.

Por lo tanto, conviene descomponer el proceso del diseño en varias etapas; en


cada una se obtiene un resultado intermedio que sirve de punto de partida de la etapa
siguiente, y en la última etapa se obtiene el resultado deseado.
El diseño de base de datos se descompone entonces en tres etapas a saber:

 Etapa del diseño conceptual


 Etapa del diseño lógico
 Etapa del diseño físico

2.- Diseño conceptual: el modelo ER

En esta etapa se obtiene una estructura de la información de la futura base de


datos independiente de la tecnología que se empleará. No se tiene en cuenta todavía qué
tipo de base de datos se utilizará (relacional, orientada a objetos, jerárquica); tampoco se
tiene en cuenta con qué SGBD (sistema de gestión de base de datos) ni con qué lenguaje
concreto se implementará la base de datos. El resultado de esta etapa es un modelo de
flujo de información de alto nivel, uno de los más empleados es el modelo entidad relación
(ER) y se obtiene luego de entrevistas, visitas y una investigación adecuada del sistema
de información. El diagrama de entidad relación utiliza formas para representar entidades,
atributos y relaciones, las cuales se muestran a continuación
3.- Diseño lógico: la transformación del modelo ER en el modelo
relacional

En esta etapa se parte del resultado del diseño conceptual, que se transforma al
tipo de base de datos que vamos a utilizar. Más concretamente, es preciso que se ajuste
al modelo del SGBD con el que se desea implementar la base de datos. Por ejemplo, si
se trata de un SGBD relacional, esta etapa obtendrá un conjunto de relaciones donde las
entidades se transforman a tablas normalizadas con sus atributos, claves primarias y
claves foráneas.

El proceso de normalización que se aplica en esta etapa consiste en una serie de


reglas que deben cumplir las tablas y relaciones obtenidas tras el paso del modelo entidad
relación al modelo relacional, para entonces ser un modelo lógico. Las bases de datos
relacionales se normalizan básicamente para: evitar la redundancia de los datos, evitar
problemas de actualización de los datos en las tablas, proteger la integridad de los datos.
Existen varios niveles de normalización de base de datos, en este caso aplicaremos las
tres primeras formas normales que se describen a continuación:

 Primera forma normal (1FN)


- Se eliminan todos los campos o atributos repetidos
- Se asegura la atomicidad de los campos, en caso de existir atomicidad, se
evalúa la creación de una nueva tabla
- Cada tabla debe tener una llave primaria
- Se asegura una dependencia funcional respecto a la llave primaria

 Segunda forma normal (2FN)


- Debe cumplir la primera forma normal
- No deben existir dependencias parciales: todos los campos no llaves deben
depender solo de la llave primaria
 Tercera forma normal (3FN)
- Debe cumplir con la segunda forma normal
- No deben existir dependencias transitivas: ningún campo debe depender de un
campo no llave

 Ejemplo de diseño conceptual:


 Ejemplo de diseño lógico:
Conclusión

El diseño de la base de datos define la estructura de la base de datos que se utiliza para
planificar, almacenar y administrar la información. Para garantizar la precisión de los
datos, debe diseñar una base de datos que solo almacene información relevante y
valiosa.

Una base de datos bien diseñada es esencial para garantizar la coherencia de la


información, eliminar los datos redundantes, ejecutar consultas de manera eficiente y
mejorar el rendimiento de la base de datos. Un enfoque metodológico hacia la base de
datos diseñada le ahorrará tiempo y la fase de desarrollo de la base de datos.

La confiabilidad de los datos depende de la estructura de la tabla, mientras que la


creación de claves primarias y únicas garantiza la uniformidad en la información
almacenada.

Como el rendimiento general de un base de datos Depende de su diseño, un buen diseño


de base de datos utiliza consultas simples y una implementación más rápida. Además, es
fácil de mantener y actualizar. Por otro lado, cuando la base de datos está mal diseñada,
incluso las interrupciones triviales pueden dañar los eventos almacenados, las vistas y las
utilidades.
Bibliografía

Fundamentos de Bases de Datos – Silberschatz Abraham – Korth Henry F. – Sudarshan –


Mc Graw Hill (5º Edición) –2006

Introducción a los Sistemas de Bases de Datos – Jeffrey Ullman – Prentice Hall – 1999

https://www.dataprix.com/es/bases-datos-master-software-libre-uoc/4sublenguajes-
especializados

http://www.tierradelazaro.com/wp-content/uploads/2016/12/DDL-DML-DCL-TCL.pdf

https://blog.sqlauthority.com/2008/01/15/sql-server-what-is-dml-ddl-dcl-and-tcl-
introduction-and-examples/

También podría gustarte