8
La normalización es el proceso de organizar los datos de una base de datos. Se incluye la creación de tablas y el establecimiento de relaciones entre ellas según reglas diseñadas tanto para proteger los datos como para hacer que la base de datos sea más flexible al eliminar la redundancia y las dependencias incoherentes. Los datos redundantes desperdician el espacio de disco y crean problemas de mantenimiento. Si hay que cambiar datos que existen en más de un lugar, se deben cambiar de la misma forma exactamente en todas sus ubicaciones. Un cambio en la dirección de un cliente es mucho más fácil de implementar si los datos sólo se almacenan en la tabla Clientes y no en algún otro lugar de la base de datos. ¿Qué es una "dependencia incoherente"? Aunque es intuitivo para un usuario mirar en la tabla Clientes para buscar la dirección de un cliente en particular, puede no tener sentido mirar allí el salario del empleado que llama a ese cliente. El salario del empleado está relacionado con el empleado, o depende de él, y por lo tanto se debería pasar a la tabla Empleados. Las dependencias incoherentes pueden dificultar el acceso porque la ruta para encontrar los datos puede no estar o estar interrumpida. Hay algunas reglas en la normalización de una base de datos. Cada regla se denomina una "forma normal". Si se cumple la primera regla, se dice que la base de datos está en la "primera forma normal". Si se cumplen las tres primeras reglas, la base de datos se considera que está en la "tercera forma normal". Aunque son posibles otros niveles de normalización, la tercera forma normal se considera el máximo nivel necesario para la mayor parte de las aplicaciones. Al igual que con otras muchas reglas y especificaciones formales, en los escenarios reales no siempre se cumplen los estándares de forma perfecta. En general, la normalización requiere tablas adicionales y algunos clientes consideran éste un trabajo considerable. Si decide infringir una de las tres primeras reglas de la normalización, asegúrese de que su aplicación se anticipa a los problemas que puedan aparecer, como la existencia de datos redundantes y de dependencias incoherentes. LLAVE PRIMARIA La clave o llave primaria es un campo, o grupo de campos que identifica en forma única un registro. Ningún otro registro puede tener la misma llave primaria. La llave primaria se

Base de datos en sql

Embed Size (px)

Citation preview

Page 1: Base de datos en sql

La normalización es el proceso de organizar los datos de una base de datos. Se incluye la creación de tablas y el establecimiento de relaciones entre ellas según reglas diseñadas tanto para proteger los datos como para hacer que la base de datos sea más flexible al eliminar la redundancia y las dependencias incoherentes. 

Los datos redundantes desperdician el espacio de disco y crean problemas de mantenimiento. Si hay que cambiar datos que existen en más de un lugar, se deben cambiar de la misma forma exactamente en todas sus ubicaciones. Un cambio en la dirección de un cliente es mucho más fácil de implementar si los datos sólo se almacenan en la tabla Clientes y no en algún otro lugar de la base de datos. 

¿Qué es una "dependencia incoherente"? Aunque es intuitivo para un usuario mirar en la tabla Clientes para buscar la dirección de un cliente en particular, puede no tener sentido mirar allí el salario del empleado que llama a ese cliente. El salario del empleado está relacionado con el empleado, o depende de él, y por lo tanto se debería pasar a la tabla Empleados. Las dependencias incoherentes pueden dificultar el acceso porque la ruta para encontrar los datos puede no estar o estar interrumpida. 

Hay algunas reglas en la normalización de una base de datos. Cada regla se denomina una "forma normal". Si se cumple la primera regla, se dice que la base de datos está en la "primera forma normal". Si se cumplen las tres primeras reglas, la base de datos se considera que está en la "tercera forma normal". Aunque son posibles otros niveles de normalización, la tercera forma normal se considera el máximo nivel necesario para la mayor parte de las aplicaciones. 

Al igual que con otras muchas reglas y especificaciones formales, en los escenarios reales no siempre se cumplen los estándares de forma perfecta. En general, la normalización requiere tablas adicionales y algunos clientes consideran éste un trabajo considerable. Si decide infringir una de las tres primeras reglas de la normalización, asegúrese de que su aplicación se anticipa a los problemas que puedan aparecer, como la existencia de datos redundantes y de dependencias incoherentes. 

LLAVE PRIMARIA 

La clave o llave primaria es un campo, o grupo de campos que identifica en forma única un registro. Ningún otro registro puede tener la misma llave primaria. La llave primaria se utiliza para distinguir un registro con el fin de que se pueda  tener acceso a ellos, organizarlos y manipularlos. En el caso de un registro de un empleado, él numero de este representa  un ejemplo de una llave primaria.

Page 2: Base de datos en sql

EJEMPLO:

Ejemplo: (una llave primaria)Nombre Tabla : tb_productoCampos : producto_id, nombre_producto, categoria_id,....Llave primaria: producto_id (identificador único para diferenciar los productos)Ejm:

producto_id...nombre_producto..categor…1....................ceras............…2....................shampoo..........…3....................jaboncillos......…

Ejemplo: (dos llaves primarias)Nombre Tabla : tb_comprobanteCampos : cbte_id,asiento_id,debe,haber,glosa,....Llaves primarias: cbte_id,asiento_id(identificadores únicos para diferenciar un registro de otro)Ejm:

cbte_id | asiento | debe | haber | glosa1...........1.............40.......0..…1...........2.............0.........40… de la compra2...........1.............80.......0..… almuerzo2...........2.............25.......0..… caja chica2...........3.............0.........25… caja chica2...........4.............0.........80… almuerzos

Por ejemplo, tenemos un catálogo de marcas de computadoras, la tabla sería:

idmarca marca

1 Lenovo

2 Toshiba

3 DELL

En esta caso la llave primaria sería idmarca.

Page 3: Base de datos en sql

LLAVE FORÁNEA 

Una clave o llave foránea (o Foreing key FK) es una limitación referencial entre dos tablas. La clave foránea identifica una columna o grupo de columnas en una tabla (tabla hija o referendo) que se refiere a una columna o grupo de columnas en otra tabla (tabla padre o referenciada). Las columnas en la tabla referendo deben ser la clave primaria u otra clave candidata en la tabla referenciada. 

EJEMPLO:Como se puede observar en el siguiente ejemplo , es necesario definir primero la tabla hacia la cual se va a referenciar la clave Foránea. Ese es el único requisito.

SQL

Comandos básicos

Definiendo cómo es almacenad a la información.

CREATE DATABASE  se utiliza para crear una nueva base de datos vacía. DROP DATABASE  se utiliza para eliminar completamente una base de datos

existente. CREATE TABLE  se utiliza para crear una nueva tabla, donde la información se

almacena realmente. ALTER TABLE  se utiliza para modificar una tabla ya existente. DROP TABLE  se utiliza para eliminar por completo una tabla existente.

Manipulando los datos.

SELECT  se utiliza cuando quieres leer (o seleccionar) tus datos. INSERT  se utiliza cuando quieres añadir (o insertar) nuevos datos. UPDATE  se utiliza cuando quieres cambiar (o actualizar) datos existentes. DELETE  se utiliza cuando quieres eliminar (o borrar) datos existentes. REPLACE  se utiliza cuando quieres añadir o cambiar (o reemplazar) datos

nuevos o ya existentes.

Page 4: Base de datos en sql

TRUNCATE  se utiliza cuando quieres vaciar (o borrar) todos los datos de la plantilla.

Un ejemplo sencillo.

CREATE DATABASE mydb;

USE mydb;

CREATE TABLE mitabla ( id INT PRIMARY KEY, nombre VARCHAR(20) );

INSERT INTO mitabla VALUES ( 1, 'Will' );

INSERT INTO mitabla VALUES ( 2, 'Marry' );

INSERT INTO mitabla VALUES ( 3, 'Dean' );

SELECT id, nombre FROM mitabla WHERE id = 1;

UPDATE mitabla SET nombre = 'Willy' WHERE id = 1;

SELECT id, nombre FROM mitabla;

DELETE FROM mitabla WHERE id = 1;

SELECT id, nombre FROM mitabla;

DROP DATABASE mydb;

SELECT count(1) from mitabla; da el número de registros en la tabla

Sintaxis de SQL

Tablas

Una base de datos contienen uno o mas tablas. Cada tabla esta identificada por un nombre (ejemplo Clientes o Ordenes). Las tablas contienen registros (filas) con datos

Sentencias SQL

Creamos la base de datos

CREATE DATABASE empresa

Creamos la tabla Personas

CREATE TABLE dbo.Personas(P_id int PRIMARY KEY IDENTITY,Nombre nchar(20) NOT NULL,Apellidos nchar(30) NOT NULL,Direccion nchar(40) NOT NULL,

Page 5: Base de datos en sql

Ciudad nchar(10) NOT NULL)GO

Insertamos algunos registros:

INSERT INTO PersonasVALUES ('Marco Antonio','Trejo Lemus','Calle E 822','Tampico')INSERT INTO PersonasVALUES ('Martha Beatriz','Trejo Lemus','Calle E 822','Tampico')INSERT INTO PersonasVALUES ('Juana Elvira','Trejo Lemus','Calle E 822','Tampico')INSERT INTO PersonasVALUES ('Nora Zulma','Trejo Lemus','Calle E 822','Tampico')INSERT INTO PersonasVALUES ('Laura Lucero','Sobrevilla Trejo','Calle E 822','Tampico')INSERT INTO PersonasVALUES ('Maria de la luz','Trejo Campos','Calle E 822','Tampico')INSERT INTO PersonasVALUES ('Trinidad','Trejo Bautista','Calle E 822','Tampico')INSERT INTO PersonasVALUES ('Marcel Abisag','Sobrevilla Trejo','Calle E 822','Tampico')INSERT INTO PersonasVALUES ('Jose Abraham','Sobrevilla Trejo','Calle E 822','Tampico')INSERT INTO PersonasVALUES ('Samuel Salomon','Olmeda Trejo','Calle E 822','Tampico')

Muchas de las acciones que necesitas realizar en una base de datos se hacen con sentencias SQL

Seleccionamos todos los registros de la tabla

Las siguiente sentencia seleccionara todos los registros de la tabla "Personas" :

SELECT * FROM Personas

Abajo esta un ejemplo del resultado de la sentencia a la tabla llamada "Personas":

Este tutorial te enseñara acerca de las diferentes declaraciones en SQL

Manten en mente lo siguiente: las sentencias SQL no son sencibles a las mayusculas o minisculas

Punto y coma despues de las sentencias SQL

Algunos sistemas de bases de datos requieren un punto y coma al final de cada sentencia SQL

Page 6: Base de datos en sql

El punto y como es un estandar que se para cada sentencia SQL en sistemas de bases de datos que habilitan mas de una sentencia SQL ejecutada en la misma llamada al servidor

SQL DML Y DLL

SQL puede ser dividido en dos partes: El Lenguaje de Manipulacion de Datos (DML) y el Lenguaje de Definicion de Datos (DDL)

La parte DML del SQL de los comandos de consulta y actualizacion son:

SELECT - extrae datos de una base de datosUPDATE - actualiza datos en una base de datosDELETE - borra datos de una base de datosINSERT INTO - inserta datos dentro de una base de datos

DLL del SQL que permite a bases de datos y tablas ser creadas o borradas.Tambien define indices(llaves). especifica enlaces entre tablas, y impone relaciones entre tablas.

La parte DLL del SQL, las sentencias mas importante DDL en SQL son:

CREATE DATABASE - crea una nueva base de datosALTER DATABASE - modifica una base de datosCREATE TABLE - crea una nueva tablaALTER TABLE - modifica una tablaDROP TABLE - borra una tablaCREATE INDEX - crea un indice (llave de busqueda)DROP INDEX - borra un indice

La sentencia SELECT

La sentencia SELECT es usada para seleccionar datos de una base de datos.

El resultado es almacenado en una tabla temporal, llamada tabla-resultadoLa sintaxis SQL de la sentencia SELECT es:

1) SELECT nombre_columna(s)FROM nombre_tabla

y

2) SELECT * FROM nombre_tabla