Está en la página 1de 11

ADMINISTRADOR DE BASES DE DATOS

Un administrador de bases de datos, es la persona que tiene la responsabilidad de mantener


y operar los sistemas de información de las organizaciones además de:
 Crear bases de datos normalizadas, utilizando una nomenclatura de diseño
estandarizada.
 Diseñar repositorios más eficientes para el análisis de información.
 Transformar los requerimientos del cliente en reglas de negocio y realizar con ellas
un modelo.
Para que el administrador de base de datos saque el máximo provecho de ellas, debe utilizar
el lenguaje SQL par la creación de:
1. FUNCIONES
2. TRIGGERS
3. PROCEDIMIENTOS ALMACENADOS
4. TRANSACCIONES
5. CONSULTAS AVANZADAS
En la actualidad las organizaciones requieren almacenes de datos para concentrar los datos
más e importantes y tener información veraz, rápida y a la mano para la toma de decisiones

LENGUAJE ESTRUCTURAD DE CONSULTA SQL


Este lenguaje es utilizado para definir y manipular las bases de datos y consultar la
información.
¿Qué es?
Es utilizado para la programación de las bases de datos y se divide en:
 Lenguaje de definición de datos: Sirve para crear, modificar, y borrar una base,
tablas y campos. Contiene las siguientes funciones básicas
o CREATE: Crea objetos de datos, como nuevas bases, tablas, vistas, entre
otros.
o ALTER: Modifica la estructura de una tabla u objeto, se pueden
agregar/quitar campos a una tabla, modificar el tipo de un campo, etc.
o DROP: sirve para eliminar un objeto de la base de datos.
o TRUNCATE: Borra todo el contenido de una tabla, sin eliminar a la
misma.
El lenguaje de manipulación de datos, sirve para insertar, modificar, borrar y buscar un
registro de la base de datos. Opera con las siguientes funciones básicas:
 INSERT: Agregar registros a una tabla
 UPDATE: Actualizar o modificar registros sin necesidad de borrarlos o volverlos a
agregar.
 DELET: Borrar registros de una tabla.
 SELECT: Busca información en una base de datos.
MODELO RELACIONAL
Es un modelo que basa su lógica en las relaciones, por lo que no es muy diferente al
modelo entidad-relación, ya que su construcción se deriva de el.
 Las entidades son mostradas como la abstracción de una tabla y los atributos son
introducidos en ella.
 El primer atributo en una tabla está ocupado por la llave primaria, después se
pondrán las llaves foráneas y al final los demás atributos.
Cardinalidad
La cardinalidad en este modelo se representa por líneas que relacionan dos tablas, desde
una llave primaria, hasta una llave foránea; con la siguiente simbología:
 De uno a uno

Es cuando un elemento de una entidad, solo se puede relacionar con otro elemento de otra
entidad.
 De uno a muchos

Es cuando un elemento de una entidad se puede relacionar con varios elementos de otra
entidad.
 De muchos a muchos
Es cuando dos o más elementos de una entidad se pueden relacionar con dos o más
elementos de otra entidad.
 De uno a cero o muchos

Es cuando un elemento de una tabla se relaciona con ninguno o muchos elementos de otra
tabla.
 De muchos a cero o muchos

Es cuando muchos elementos de una tabla se relacionan con ninguno o muchos elementos
de otra tabla.

Las cardinalidades pueden variar según el estándar que se utilice, el estándar UML que es
el más utilizado a nivel mundial se representan de la siguiente manera
¿Cómo se leen las cardinalidades?
Según el estándar UML la cardinalidad se lee de izquierda a derecha o de derecha a
izquierda

CONSTRUCCIÓN DEL MODELO RELACIONAL


El administrador de bases de datos constantemente deberá realizar el diseño de la base de
datos basado en el modelo relacional; ya sea para crearla o modificar una base existente.
Modelo relacional
Para diseñar una base de datos primer se debe concebir toda su lógica de operación, lo cual
se lograra teniendo en claro la situación del negocio y sus procesos.
Construcción del modelo relacional
1. Definir todas las entidades o tablas necesarias en el modelo relacional.
2. Establecer las relaciones y poner su cardinalidad.
3. Normalizar por lo menos hasta la tercera forma normal, con esto todas las tablas
tendrán llaves primarias, mantendrán dependencia funcional y no contendrán
duplicación de datos.
4. Al elegir los atributos no almacenar datos que puedan inferir de otros campos.
5. Siempre que se tenga una relación de” muchos a muchos” o “a muchos a cero”, es
mejor realizar una tabla cruzada
Es necesario que para la construcción de un modelo eficiente se debe tener contacto con el
cliente para resolver cualquier duda acerca del proceso del negocio.
Tabla cruzada
Se utilizan cuando se tiene una relación de muchos a muchos, ya que si se unen las tablas
con una llave foránea a la otra tabla, esa misma tendría inconsistencias de duplicidad.

ACTIVIDAD
1. Un producto viene de un proveedor
2. Un proveedor vende ninguno o varios productos.
3. Un producto tiene solo una categoría
4. Una categoría puede tener ninguno o muchos productos
5. Un empleado puede realizar varias ventas
6. Una venta le pertenece a un empleado
7. Un cliente puede realizar varias compras
8. Una venta de la tienda le pertenece a un cliente
9. Una venta puede tener muchos productos
10. Un producto puede estar en varias ventas

ALMACEN DE DATOS
Un administrador de datos también tiene la responsabilidad de estar a cargo del diseño y
operación de los data Warehouse, deberá entender sus aplicaciones para generar análisis
más eficientes.
DataWarehouse
Es una base de datos orientada a la información este almacén se olvida de las transacciones
o procedimientos almacenados en la base de datos y solo se enfoca en extraer y organizar
información importante almacenada en otras bases de datos.
Para realizar esto deberá contar con las siguientes características:
 Orientado a temas: Todos los datos deben estar relacionados respecto al tema a
analizar.
 Variante en el tiempo: todos los cambios de los datos en el tiempo deben quedar
registrados para evitar pérdidas de información.
 No volátil: la información no se modifica, ni se elimina solo es de lectura.
La función del datawarehouse es contener los datos útiles para el ambiente del negocio y
posteriormente transformarlos en información relevante que pueda analizarse rápidamente.
De esta forma los usuarios autorizados pueden realizar consultas, y reportes sin tocar o
afectar la operación del sistema.
Para cumplir con la función del almacén es necesario cumplir con el principio de
separación de los datos, el cual dice que se deben separar los datos usados en operaciones
de la base de datos, de los datos que se guardan en el almacén, para que nunca coincidan.
Con este principio se diseñan los ETL, que se refieren a:
 EXTRACCION: obtener información deseada de datos almacenados.
 TRANSFORMACION: adecuarlos a los esquemas de data warehouse.
 CARGA: depositar los datos en el almacén.
Con estos pasos la información que se consulta en almacén, no está anclada a la base de
datos.
Data marts
Son bases de datos departamentales que se almacenan al datawarehouse, con el fin de evitar
una búsqueda exhaustiva por parte del sistema y así recibir información más rápida.

ESQUEMA DE ALMACENES DE DATOS


Los almacenes de datos están diseñados para proveer respuestas a cualquier duda que
pueda tener el personal sobre el funcionamiento de la empresa. Además de asistir con
información relevante, durante la toma de decisiones
Esquema de estrella: Este es el esquema más simple en la arquitectura del almacén de
datos, se llama estrella porque la tabla central está rodeada de entidades llamadas
dimensiones y lleva un diseño lógico-relacional en el que las tablas de hechos recaen en la
segunda forma normal.

 Las tablas de hechos pueden ser vistas como tablas cruzadas entre varias entidades y
su llave primaria queda conformada por la combinación de llaves primarias de las
demás dimensiones.

 Tener información relevante en la tabla de hechos hace que la programación de las


consultas sea más simple y rápida, ya que el sistema en lugar de ir a todas las tablas
únicamente se dirige a la tabla de hechos para consultar la información.

 Para identificar este esquema es importante que notes que solo existe una tabla de
dimensiones por dimensión.

Esquema de copo de nieve


Este esquema está diseñado para el mantenimiento de dimensiones; parecido a un modelo
relacional ya que cumple con la tercera forma normal. Es decir, trata de segmentar
información e caso de que esta sea muy extensa., otra de sus ventajas es que ahorra espacio
en la memoria.
 En este esquema existe más de una tabla de hechos, así las tablas de dimensiones
pueden estar repartidas entre las múltiples tablas de hechos, con el fin de tener
diferentes aspectos del negocio registrado.

 La gran ventaja de este tipo de esquema es su gran flexibilidad, pero al generarla se


sacrifica su facilidad y pueden llegar a ser difíciles de mantener en un futuro por el
crecimiento de los datos.
 Este esquema logra la misma velocidad de consulta que el esquema estrella, siempre
y cuando se genera una tabla por dimensión
PROCEDIMIENTO DE CREACION DE BASE DE DATOS
1. Conexión al manejador de base de datos.
2. Creación de una base de datos
3. Creación de tablas y atributos
4. Relaciones entre tablas.
5. Modificación de llaves primarias.

FUNCIONES SQL
El programa SQL permite utilizar funciones las cuales son ampliamente utilizadas al
manejar bases de datos para la reducción de líneas de código.
Funciones
Una función es un conjunto de instrucciones que se ejecutan al ser llamadas desde un
programa o procedimiento. Estas reciben datos de entrada que son transformados para
después arrojar un resultado, en general las funciones deben tener un nombre único para
evitar que el sistema sufra confusiones. En sql existen tres tipos de funciones las cuales son:
 Funciones escalares: devuelven un único valor de cualquier tipo de dato.
CREATE FUNCTION monto_venta (@cant_venta INT, @precio money) RETURNS money
AS
BEGIN
DECLARE @monto_venta money
SET @monto_venta= @cant_venta* @precio
RETURN @monto_venta
END

SELECT id_proveedor, id_producto, cant_venta, precio, dbo.monto_venta(cant_venta,


precio) AS monto_venta FROM t_detalledeorden;

 Funciones en línea: Son aquellas que regresan un conjunto de resultado


correspondiente a una sentencia SELECT, por lo tanto el resultado es una tabla
CREATE FUNCTION region_empleados (@region VARCHAR(15)) RETURNS TABLE
RETURN (SELECT nombre, apellido, titulo, ciudad, region FROM t_empleados
WHERE region=@region)

SELECT * FROM dbo.region_empleados('norte');

 Funciones en línea de múltiples sentencias: Son similares a las funciones en línea


excepto que el resultado está compuesto por varios SELECT, por lo general se
requieren cuando se utiliza mayor lógica de procesos.
o El proceso seguido es similar solo que en la parte de RETURNS debe
nombrarse una variable tipo tabla y abrir paréntesis.

CREATE FUNCTION region_empleados2 (@region VARCHAR(20))


RETURNS @TABLEregion TABLE (id_empleado INT,
nombre VARCHAR(60),
apellido VARCHAR(60),
region VARCHAR(20))
BEGIN
INSERT INTO @TABLEregion
SELECT id_empleado, nombre, apellido, region FROM t_empleados
WHERE region=@region
RETURN
END

TRIGGERS EN SQL
Los Triggers o disparadores de eventos activan procesos automáticos al utilizar una
instrucción DML específica, como INSERT, DELETE, O UPDATE. Cada trigger está
anclado solo a una tabla y funciona para proteger a la base de datos de alteraciones.
PROCEDIMIENTOS
 En una nueva consulta se escribe (CREATE trigger “nombre del trigger”)
 Luego escirbir (ON “nombre de tabla”)
 Escribir (AFTER “instrucciones del DML con la que se activa el trigger)
 También es posible escribir For en lugar de After, la diferencia será el tiempo de
activación
 Con la instrucción FOR se activa primero el trigger y después la instrucción DML
 Con la instrucción AFTER se realiza primero la instrucción DML y luego el trigger.

CREATE TRIGGER stockupdate


ON [Order Details]
FOR INSERT
AS
BEGIN
DECLARE @Quantity SMALLINT, @ProductID INT, @Stock SMALLINT
SELECT @Quantity=Quantity, @ProductID=ProductID FROM INSERTED
SELECT @Stock=UnitsInStock FROM products WHERE ProductID=@ProductID
UPDATE Products SET UnitsInStock= @Stock-@Quantity WHERE ProductID=@ProductID
END

INSERT INTO [Order Details] (OrderID, ProductID, Quantity) VALUES (10299,15,9)

PROCEDIMIENTOS ALMACENADOS EN SQL


Son un conjunto de instrucciones que son ejecutadas cuando se decide pueden aceptar
parámetros de entrada y generar o no resultados. Por lo general siempre regresa un valor de
estado para indicar si la operación fue concluida exitosamente.
Los procedimientos almacenados llaman a la base de datos con el código que contengan y
terminan la llamada cuando terminan el procedimiento. Operación más seguro que tener el
código suelto que llama a la base y sale de ella por línea de código. También varios
usuarios pueden realizar tareas específicas y sin meterse con el código SQL.
La reutilización de código es una buena práctica para el administrador de base de datos ya
que al meter código frecuente en un procedimiento los programas se vuelven más sencillos
y con mejor rendimiento.
Para crear un procedimiento almacenado:
 En una nueva consulta se debe escribir “CREATE PROCEDURE nombre del
procedimiento”.
 Escribir AS, GO y entre ellas escribir el código que se desea guardar en el
procedimiento almacenado.
 Ejecutar la consulta para que el procedimiento se quede guardado en la base de
datos.
 Para ejecutar el procedimiento almacenado en una nueva consulta se debe escribir
“EXECUTE y nombre del procedimiento.”.
 Esto se realiza con el objetivo de que un código complejo y repetitivo, sea más
entendible y fácil de manejar.
 Para modificar el procedimiento almacenado se debe poner “ALTER” en lugar de
CREATE.

CREATE PROCEDURE customer_country


AS
SELECT * FROM Customers
where Country= 'Mexico'
GO

Los procedimientos almacenados y las funciones parecen tener la misma tarea pero entre
ellas existen importantes diferencias. Las más grandes de ellas son cuando los
procedimientos almacenados son llamados únicamente cuando se desea, por medio de la
instrucción EXECUTE, mientras que las funciones son llamadas dentro de otras sentencias.
Con los procedimientos almacenados es posible restringir acciones de usuarios a un nivel
más específico.
En cuanto a la sintaxis a los procedimientos almacenados se les puede ingresar parámetros
de entrada para que arrojen algún resultado deseado.
 En una nueva consulta se debe escribir “CREATE PROCEDURE nombre del
procedimiento”
 Seguido por el parámetro o parámetros de entrada con el símbolo de arroba junto
con su tipo de dato y longitud.
 Separar cada parámetro con una cola y luego el parámetro de salida con su tipo de
dato y longitud, luego de este se deberá escribir OUTPUT.
 Escribir AS, BEGIN END y el código deseado entre BEGIN Y END.

CREATE PROCEDURE InsertUpdate_Customer @CustomerID NCHAR (5),


@CompanyName NVARCHAR (40),
@ReturnID NCHAR (5)
OUTPUT
AS
BEGIN
INSERT INTO Customers (CustomerID, CompanyName) VALUES (@CustomerID, @CompanyName)
IF (@@ERROR <> 0)
BEGIN
UPDATE Customers
SET Customers. CustomerID= @CustomerID,
Customers. CompanyName = @CompanyName
WHERE Customers. CustomerID=@CustomerID
PRINT ('SE REALIZA UPDATE')
END
ELSE
BEGIN
PRINT ('SE REALIZO UN INSERT')
END
SELECT @ReturnID= CustomerID FROM Customers WHERE Customers.
CustomerID=@CustomerID
END

DECLARE @back NCHAR (5)


EXECUTE InsertUpdate_Customer 'ABABA', 'PUZZLE', @back OUTPUT
SELECT @back

 RELACION PERSON.PERSON Y HumanResources.Employee


 Person.Person.BusinessEntityID=HumanResources.Employee.

También podría gustarte