Вы находитесь на странице: 1из 20

INTRODUCCIN A SQL

INTRODUCCIN A LAS BASES DE DATOS


MODELOS DE DATOS
Un modelo de base de datos es un tipo de modelo de datos que determina la estructura lgica de una base
de datos y de manera fundamental determina el modo de almacenar, organizar y manipular los datos.
Entre los modelos lgicos comunes para bases de datos se encuentran:
Modelo jerrquico
Modelo en red
Modelo relacional
Modelo entidadrelacin
Modelo entidadrelacin extendido
modelo de objetos
modelo documental
Modelo entidadatributovalor
modelo en estrella
Los modelos fsicos de datos incluyen:
ndice invertido
fichero plano
Otros modelos lgicos pueden ser:
modelo asociativo
modelo multidimensional
modelo multivalor
modelo semntico
base de datos XML
grafo etiquetado
Triplestore
USUARIOS
Usuarios normales. Son usuarios no sofisticados que interactan con el sistema mediante un programa
de aplicacin con una interfaz de formularios, donde puede rellenar los campos apropiados del formulario.
Estos usarios pueden tambin simplemente leer informes generados de la base de datos.
Usuarios sofisticados. Interactan con el sistema sin programas escritos, usando el lenguaje de consulta
de base de datos para hacer sus consultas. Los analistas que envan las consultas para explorar los datos en
la base de datos entran en esta categora, usando ellos las herramientas de procesamiento analtico en lnea
(OLAP, OnLine Analytical Processing), o herramientas de recopilacin de datos.
Usuarios especializados. Son usuarios sofisticados que escriben aplicaciones de bases de datos
especializadas y adecuadas para el procesamiento de datos tradicional. Entre estas aplicaciones estn los
sistemas de diseo asistido por computadora, sistemas de base de conocimientos y sistemas expertos,
sistemas que almacenan datos de tipos de datos complejos (como grficos y de audio) y sistemas de
modelado de entorno.
PASOS PARA DESARROLLAR
UNA BASE DE DATOS
1 Determinar la finalidad de la base de datos

El primer paso para disear una base de datos es determinar su finalidad y cmo se utiliza. Debe saber qu informacin desea obtener de la base de datos. A
partir de ah, puede determinar sobre qu asuntos necesita almacenar hechos (las tablas) y qu hechos necesita almacenar sobre cada asunto (los campos de las
tablas).

2 Determinar las tablas que se necesitan
Determinar las tablas puede ser el paso ms complicado del proceso de diseo de la base de datos. Esto se debe a que los resultados que desea obtener de la
base de datos (los informes que desea imprimir, los formularios que desea utilizar, las preguntas para las que desea respuestas) no proporcionan pistas necesariamente
acerca de la estructura de las tablas que los producen.
No es necesario que disee las tablas mediante algn producto (Microsoft Access por Ej.). De hecho, posiblemente sea ms conveniente realizar un boceto en
papel de la base de datos y trabajar sobre el diseo primero. Al disear las tablas, divida la informacin teniendo en cuenta los siguientes principios de diseo
fundamentales:
Una tabla no debe contener informacin duplicada, y no debe duplicarse informacin entre tablas. A este respecto, una tabla de una base de datos relacional es
diferente a una tabla de una aplicacin de archivos simples como por ejemplo una hoja de clculo.
Cuando cada elemento de informacin est almacenado en una tabla, se actualiza en un solo lugar. Esto resulta ms eficiente y elimina la posibilidad de que
existan entradas duplicadas que contengan informacin diferente. Por ejemplo, probablemente desee almacenar la direccin y el nmero de telfono de cada cliente
una sola vez en una sola tabla.


3 Determinar los campos que se necesitan

Cada tabla contiene informacin acerca del mismo asunto, y cada campo de una tabla contiene hechos
individuales sobre el asunto de la tabla. Por ejemplo, la tabla de Clientes puede incluir los campos del
nombre de la compaa, la direccin, la ciudad, el pas y el nmero de telfono. Al realizar bocetos de los
campos para cada tabla, tenga en cuenta estas sugerencias:

Relacione cada campo directamente con el asunto de la tabla.

No incluya datos derivados ni calculados (datos que son el resultado de una expresin).

4 Identificar el campo o campos con valores nicos en cada registro

Para relacionar informacin almacenada en tablas independientes (por ejemplo, para conectar a un
cliente con todos los pedidos del cliente), cada tabla de la base de datos debe incluir un campo o un
conjunto de campos que identifiquen de forma exclusiva cada registro individual de la tabla. Este campo o
conjunto de campos se denomina clave principal.
5 Perfeccionar el diseo
Una vez diseadas las tablas, los campos y las relaciones que necesita, es el momento de estudiar el diseo y detectar los posibles
fallos que puedan quedar. Es ms sencillo cambiar el diseo de la base de datos ahora que una vez que haya rellenado las tablas con datos.
Utilice un software de bases de datos (Microsoft Access por Ej.) para crear las tablas, especificar relaciones entre las tabl as e introducir
suficientes datos de ejemplo en las tablas para poder comprobar el diseo. Para probar las relaciones de la base de datos, compruebe si
puede crear consultas para obtener las respuestas que desee. Busque duplicaciones de datos innecesarias y elimnelas. Si encuentra
problemas, perfeccione el diseo.

6 Introducir datos y crear otros objetos de la base de datos
Cuando considere que la estructura de las tablas cumple los principios de diseo descritos anteriormente, es el momento de comenzar
a agregar los datos existentes a las tablas. A continuacin, puede crear las consultas, formularios, informes, etc. que desee.

7 Utilizar las herramientas de anlisis de Microsoft Access
Microsoft Access incluye dos herramientas que pueden ayudarle a perfeccionar el diseo de la base de datos de Microsoft Access. El
Asistente para analizar tablas puede analizar el diseo de una tabla, proponer nuevas estructuras de tablas y relaciones si es conveniente y
dividir una tabla en nuevas tablas relacionadas si es necesario.
El Analizador de rendimiento puede analizar la base de datos completa y realizar recomendaciones y sugerencias para mejorarla. El
asistente tambin puede implantar estas recomendaciones y sugerencias.


MODELO LOGICO
El Modelo Conceptual de Datos es independiente del software de gestin de bases de datos utilizado. Para proceder al diseo
de los ficheros y de las bases de datos del sistema, se debe convertir previamente el modelo conceptual que inclua tipos de
entidades y relaciones con atributos asociados, en un modelo lgico que nicamente considere tipos de registros compuestos por
campos de datos. Al Modelo Lgico de Datos normalmente se le suele llamar Diagrama de Estructura de Datos (DED) o Diagrama
de Bachman.

Existen tres tipos de SGBD. Basados en una base de datos relacional, en el que se almacenan los datos como un conjunto de
tablas o relaciones. Basados en una base de datos en red, en el que la estructura de los registros establece una relacin subordinada
"padre-hijo" entre ellos. (P.e. un registro Departamento puede poseer registros Proyectos que, a su vez, poseen registros
Empleados). Basados en una base de datos jerrquica, similar a la anterior, con la diferencia que cada registro slo puede tener un
padre. Nos limitaremos a las basadas en bases de datos relacionales, ya que son las ms utilizadas y poseen la ventaja de que la
conversin del modelo conceptual es directa, sin ms que considerar las entidades como registros y los atributos como campos de
stos.
RESTRICCIONES DE
INTEGRIDAD
Las restricciones de los dominios son la forma ms simple de restriccin de integridad. Se especifica para cada
atributo un dominio de valores posibles. Una definicin adecuada de las restricciones de los dominios no slo permite
verificar los valores introducidos en la base de datos sino tambin examinar las consultas para asegurarse de que tengan
sentido las comparaciones que hagan. Por ejemplo, normalmente no se considerar que la consulta Hallar todos los
clientes que tengan el nombre de una sucursal tenga sentido. Por tanto, nombre-cliente y nombre-sucursal deben tener
dominios diferentes. La clusula check de SQL:1999 permite restringir los dominios de maneras poderosas que no
permiten la mayor parte de los sistemas de tipos de los lenguajes de programacin
La clusula check permite especificar un predicado que debe satisfacer cualquier valor asignado a una variable cuyo
tipo sea el dominio. Por ejemplo: Nmero de cifras Nmero de decimales create domain sueldo-por-hora numeric(4,2)
constraint comprobacin-valor-sueldo check(value 6.00) Restricciones de existencia Dentro de las restricciones de los
dominios, un tipo especial de restriccin que se puede aplicar a cualquier dominio es la restriccin de existencia. Esta
restriccin evita la aparicin de valores nulos en las columnas. Restricciones de unicidad Otro tipo especial de restriccin
que se puede aplicar a cualquier dominio es la restriccin de unicidad. Esta restriccin evita la aparicin de valores
duplicados en las columnas
BASE DE DATOS
RELACIONALES
En una computadora existen diferentes formas de almacenar informacin. Esto da lugar a distintos modelos de organizacin de la
base de datos: jerrquico, red, relacional y orientada a objeto.
Los sistemas relacionales son importantes porque ofrecen muchos tipos de procesos de datos, como: simplicidad y generalidad,
facilidad de uso para el usuario final, perodos cortos de aprendizaje y las consultas de informacin se especifican de forma sencilla.
Las tablas son un medio de representar la informacin de una forma ms compacta y es posible acceder a la informacin contenida en
dos o ms tablas. Ms adelante explicaremos que son las tablas.
Las bases de datos relacionales estn constituidas por una o ms tablas que contienen la informacin ordenada de una forma
organizada. Cumplen las siguientes leyes bsicas:
Generalmente, contendrn muchas tablas.
Una tabla slo contiene un nmero fijo de campos.
El nombre de los campos de una tabla es distinto.
Cada registro de la tabla es nico.
El orden de los registros y de los campos no est determinados.
Para cada campo existe un conjunto de valores posible.


MODELO ENTIDAD-
RELACION
1. MODELO ENTIDAD-RELACIN
El modelo entidad relacin se basa en una percepcin de un mundo real que consiste en un conjunto de elementos bsicos llamados entidades
y relaciones entre estos elementos.

ENTIDADES: Una Entidad es un conjunto de elementos que existen y se distinguen de otros elementos gracias a que tienen caractersticas
propias (Atributos) que los describen. Por ejemplo, Juan Esteban Henao con Nmero de cdula 10.022.723, de 22 aos de edad, del sexo masculino
es un elemento del conjunto Empleados de una empresa en particular. De esta forma podemos tener entidades como: Materias, Estudiantes,
Profesores, Vehculos, pases, etc. cada una con caractersticas que describen y diferencian cada elemento.

ATRIBUTOS: Los Atributos son las caractersticas por las cuales puedo describir una Entidad y que a su vez no tienen caractersticas propias
(Atributos) representativas.
define al vehculo y este adems tiene atributos propios que lo definen, como nombre, cedula, direccin, telfono, edad, sexo, etc.Hay
entidades que no necesitan ser diferentes, por ejemplo en un colegio es posible definir la entidad Estudiantes y definir la entidad Profesores y a simple
vista podran tener los mismos atributos, como documento de identidad, nombre, edad, telfono, direccin, sexo, etc. De esta manera se podra
malinterpretar y crear una sola entidad con el nombre de Personas, que podran ser tanto los estudiantes como los profesores pero estas practicas no
son convenientes, por tal motivo los nombres debern ser lo ms especficos posible tanto para las entidades como para los atributos
ENTORNO DE SQL
SERVER
Introduccin y historia de SQL
El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos
normalizado, utilizado por los diferentes motores de bases de datos para realizar
determinadas operaciones sobre los datos o sobre la estructura de los mismos. Pero
como sucede con cualquier sistema de normalizacin hay excepciones para casi
todo; de hecho, cada motor de bases de datos tiene sus peculiaridades y lo hace
diferente de otro motor, por lo tanto, el lenguaje SQL normalizado (ANSI) no nos
servir para resolver todos los problemas, aunque si se puede asegurar que cualquier
sentencia escrita en ANSI ser interpretable por cualquier motor de datos.
HISTORIA DE SQL
La historia de SQL (que se pronuncia deletreando en ingls las letras que lo componen, es decir "ese-cu-ele" y no "siquel" como se oye
a menudo) empieza en 1974 con la definicin, por parte de Donald Chamberlin y de otras personas que trabajaban en los laboratorios de
investigacin de IBM, de un lenguaje para la especificacin de las caractersticas de las bases de datos que adoptaban el modelo relacional.
Este lenguaje se llamaba SEQUEL (Structured English Query Language) y se implement en un prototipo llamado SEQUEL-XRM entre
1974 y 1975. Las experimentaciones con ese prototipo condujeron, entre 1976 y 1977, a una revisin del lenguaje (SEQUEL/2), que a partir
de ese momento cambi de nombre por motivos legales, convirtindose en SQL. El prototipo (System R), basado en este lenguaje, se adopt
y utiliz internamente en IBM y lo adoptaron algunos de sus clientes elegidos. Gracias al xito de este sistema, que no estaba todava
comercializado, tambin otras compaas empezaron a desarrollar sus productos relacionales basados en SQL. A partir de 1981, IBM
comenz a entregar sus productos relacionales y en 1983 empez a vender DB2. En el curso de los aos ochenta, numerosas compaas (por
ejemplo Oracle y Sybase, slo por citar algunos) comercializaron productos basados en SQL, que se convierte en el estndar industrial de
hecho por lo que respecta a las bases de datos relacionales.

En 1986, el ANSI adopt SQL (sustancialmente adopt el dialecto SQL de IBM) como estndar para los lenguajes relacionales y en
1987 se transfom en estndar ISO. Esta versin del estndar va con el nombre de SQL/86. En los aos siguientes, ste ha sufrido diversas
revisiones que han conducido primero a la versin SQL/89 y, posteriormente, a la actual SQL/92.

El hecho de tener un estndar definido por un lenguaje para bases de datos relacionales abre potencialmente
el camino a la intercomunicabilidad entre todos los productos que se basan en l. Desde el punto de vista prctico,
por desgracia las cosas fueron de otro modo. Efectivamente, en general cada productor adopta e implementa en la
propia base de datos slo el corazn del lenguaje SQL (el as llamado Entry level o al mximo el Intermediate
level), extendindolo de manera individual segn la propia visin que cada cual tenga del mundo de las bases de
datos.

Actualmente, est en marcha un proceso de revisin del lenguaje por parte de los comits ANSI e ISO, que
debera terminar en la definicin de lo que en este momento se conoce como SQL3. Las caractersticas principales
de esta nueva encarnacin de SQL deberan ser su transformacin en un lenguaje stand-alone (mientras ahora se
usa como lenguaje hospedado en otros lenguajes) y la introduccin de nuevos tipos de datos ms complejos que
permitan, por ejemplo, el tratamiento de datos multimediales.

COMPONENTES DEL SQL
El lenguaje SQL est compuesto por comandos, clusulas, operadores y funciones de
agregado. Estos elementos se combinan en las instrucciones para crear, actualizar y manipular las
bases de datos.

Comandos

Existen dos tipos de comandos SQL:

DLL que permiten crear y definir nuevas bases de datos, campos e ndices.
DML que permiten generar consultas para ordenar, filtrar y extraer datos de la base de datos.
COMANDOS
Comandos DLL
Comando Descripcin
CREATE
Utilizado para crear nuevas tablas, campos e
ndices
DROP Empleado para eliminar tablas e ndices
ALTER
Utilizado para modificar las tablas
agregando campos o cambiando la
definicin de los campos.
Comandos DML
Comando Descripcin
SELECT
Utilizado para consultar registros de la base
de datos que satisfagan un criterio
determinado
INSERT
Utilizado para cargar lotes de datos en la
base de datos en una nica operacin.
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


CLUSULAS
Las clusulas son condiciones de modificacin utilizadas para definir los datos que
desea seleccionar o manipular.

Clusula Descripcin
FROM
Utilizada para especificar la tabla de la cual se van a seleccionar los
registros
WHERE
Utilizada para especificar las condiciones que deben reunir los
registros que se van a seleccionar
GROUP BY
Utilizada para separar los registros seleccionados en grupos
especficos
HAVING Utilizada para expresar la condicin que debe satisfacer cada grupo
ORDER BY
Utilizada para ordenar los registros seleccionados de acuerdo con un
orden especfico
OPERADORES LGICOS Y
OPERADORES DE
COMPARACIN
Operador Uso
AND
Es el "y" lgico. Evala dos condiciones y devuelve un valor de verdad slo si
ambas son ciertas.
OR
Es el "o" lgico. Evala dos condiciones y devuelve un valor de verdad si
alguna de las dos es cierta.
NOT Negacin lgica. Devuelve el valor contrario de la expresin.
Operador Uso
< 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 comparacin de un modelo
In Utilizado para especificar registros de una base de datos
FUNCIONES DE
AGREGADO
Las funciones de agregado se usan dentro de una clusula SELECT en grupos de
registros para devolver un nico valor que se aplica a un grupo de registros.
Funcinn Descripcin
AVG
Utilizada para calcular el promedio de los valores de un
campo determinado
COUNT
Utilizada para devolver el nmero de registros de la
seleccin
SUM
Utilizada para devolver la suma de todos los valores de
un campo determinado
MAX
Utilizada para devolver el valor ms alto de un campo
especificado
MIN
Utilizada para devolver el valor ms bajo de un campo
especificado
INTERFAZ GRAFICA DE
MICROSOFT SQL SERVER

Вам также может понравиться