introducc base datos-sql

47
UNIDAD ACADÉMICA CIENCIAS DE LA INGENIERÍA Y APLICADAS INGENIERÍA EN INFORMÁTICA Y SISTEMAS COMPUTACIONALES ING: Jaime Acurio ASIGNATIRA SISTEMAS DISTRIBUIDOS LATACUNGA - ECUADOR

Upload: jaime-acurio

Post on 29-Jun-2015

853 views

Category:

Education


3 download

TRANSCRIPT

Page 1: Introducc base datos-sql

UNIDAD ACADÉMICA CIENCIAS DE LA INGENIERÍA Y APLICADAS

INGENIERÍA EN INFORMÁTICA Y SISTEMAS COMPUTACIONALES

ING:

Jaime Acurio

ASIGNATIRA

SISTEMAS DISTRIBUIDOS

LATACUNGA - ECUADOR

Page 2: Introducc base datos-sql

QUE SON BASES DE DATOS

Una base de datos es un “almacén” que nos permite guardar grandes

cantidades de información de forma organizada para que luego podamos

encontrar y utilizar fácilmente.

El término de bases de datos fue escuchado por primera vez en 1963, en un

simposio celebrado en California, USA. Una base de datos se puede definir

como un conjunto de información relacionada que se encuentra agrupada ó

estructurada.

Desde el punto de vista informático, la base de datos es un 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.

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.

1. CARACTERÍSTICAS

Entre las principales características de los sistemas de base de datos podemos

mencionar:

Independencia lógica y física de los datos.

Redundancia mínima.

Acceso concurrente por parte de múltiples usuarios.

Integridad de los datos.

Consultas complejas optimizadas.

Seguridad de acceso y auditoría.

Respaldo y recuperación.

Acceso a través de lenguajes de programación estándar

¿QUÉ ES UN DATO?

El Dato es una representación simbólica (numérica, alfabética, algorítmica etc.),

un atributo o una característica de una entidad. El dato no tiene valor semántico

(sentido) en sí mismo, pero si recibe un tratamiento (procesamiento) apropiado,

se puede utilizar en la realización de cálculos o toma de decisiones. Es de

Page 3: Introducc base datos-sql

empleo muy común en el ámbito informático y, en general, prácticamente en

cualquier disciplina científica.

En programación, un dato es la expresión general que describe las

características de las entidades sobre las cuales opera un algoritmo.

En Estructura de datos, es la parte mínima de la información.

Un dato por sí mismo no constituye información, es el procesado de los datos

lo que nos proporciona información.

¿QUÉ ES TABLA?

Son los objetos principales de bases de datos que se utilizan para guardar

datos.

Podemos tener más de una tabla en la base de datos para guardar información

relacionada. Por ejemplo, en una tabla podemos tener la información de

clientes, en la otra la información del producto y en la tercera podemos enlazar

los datos de dos tablas anteriores, por ejemplo los pedidos que hicieron

clientes de cada producto.

Aquí tienes el ejemplo de una tabla, es la tabla "Clientes" de la base de datos

"Neptuno" incluida en Access, pulsa la imagen en miniatura para ver la tabla

completa:

Page 4: Introducc base datos-sql

¿QUÉ ES COLUMNA?

En el contexto de una tabla de base de datos relacional, una columna es un

conjunto de valores de datos de un simple tipo particular, uno por cada fila de la

tabla.1 Las columnas proporcionan la estructura según la cual se componen las

filas.

Cada fila proporcionaría un valor de los datos para cada columna y después

sería entendida como solo simple valor de datos estructurado, en este caso

representando a una compañía. Más formalmente, cada fila puede ser

interpretada como una variable relacional, compuesta por un conjunto de

tuplas, con cada tupla consistiendo en los dos elementos: el nombre de la

columna relevante y el valor que esta fila proporciona para esa columna.

Columna 1 Columna 2

Fila 1 Fila 1 Columna 1 Fila 1 Columna 2

Fila 2 Fila 2 Columna 1 Fila 2 Columna 2

Fila 3 Fila 3 Columna 1 Fila 3 Columna 2

¿QUÉ ES UNA FILA?

En el contexto de a base de datos emparentada, a fila- también llamó a

expediente o tuple- representa un solo, estructurado implícito datos artículo en

a tabla. En términos simples, una tabla de la base de datos se puede pensar en

como consistiendo en filas y columnas o campos. Cada fila en una tabla

representa un sistema de datos relacionados, y cada fila en la tabla tiene la

misma estructura.

Por ejemplo, en una tabla que representa a compañías, cada fila representaría

a sola compañía. Las columnas pudieron representar cosas como nombre de

compañía, la dirección de la calle de la compañía, si llevan a cabo a la

compañía público, su número del IVA, etc…. En una tabla que representa la

Page 5: Introducc base datos-sql

asociación de empleados con departamentos, cada fila asociaría a un

empleado a un departamento.

La estructura implícita de una fila, y el significado de los valores de los datos en

una fila, requiere que la fila esté entendida como abastecimiento de una

sucesión de los valores de los datos, uno en cada columna de la tabla. La fila

entonces se interpreta como a relvar integrado por un sistema de tuples, con

cada tuple consistiendo en los dos artículos: el nombre de la columna relevante

y del valor que esta fila proporciona para esa columna.

¿CLAVE PRIMARIA?

En el diseño de bases de datos relacionales, se llama clave primaria a un

campo o a una combinación de campos que identifica de forma única a cada

fila de una tabla. Una clave primaria comprende de esta manera una columna o

conjunto de columnas. No pueden haber dos filas en una tabla que tengan la

misma clave primaria.

Una clave primaria debe identificar unívocamente a todas las posibles filas de

una tabla y no solo a las filas que se encuentran en un momento determinado.

Ejemplos de claves primarias son DNI (asociado a una persona) o ISBN

(asociado a un libro). Las guias telefónicas y diccionarios no pueden usar

nombres o palabras o números del sistema decimal de Dewey como claves

candidatas, porque identifican unívocamente números de teléfono o palabras.

Una clave primaria es un caso especial de clave única. La mayor diferencia es

que para claves únicas, no se impone automáticamente la restricción implícita

NOT NULL, mientras que para claves primarias, sí. Así, los valores en

columnas de clave única pueden o no ser NULL. Otra diferencia es que las

claves primarias deben definirse por medio de otra sintaxis.

¿CLAVE FORÁNEA?

En el contexto de bases de datos relacionales, una clave foránea (o Foreign

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 maestra o referenciada). Las columnas en la tabla referendo deben ser la

clave primaria u otra clave candidata en la tabla referenciada.

Page 6: Introducc base datos-sql

Los valores en una fila de las columnas referendo deben existir solo en una fila

en la tabla referenciada. Así, una fila en la tabla referendo no puede contener

valores que no existen en la tabla referenciada. De esta forma, las referencias

pueden ser creadas para vincular o relacionar información. Esto es una parte

esencial de la normalización de base de datos. Múltiples filas en la tabla

referendo pueden hacer referencia, vincularse o relacionarse a la misma fila en

la tabla referenciada. Mayormente esto se ve reflejado en una relación uno

(tabla maestra o referenciada) a muchos (tabla hija 0o referendo).

TIPOS DE RELACIONES:

UNA RELACIÓN UNO A VARIOS

La relación uno a varios es el tipo de relación más común. En este tipo de

relación, un registro de la Tabla A puede tener muchos registros coincidentes

en la Tabla B, pero un registro de la Tabla B sólo tiene un registro coincidente

en la Tabla A.

Un proveedor ...

... puede suministrar más de un producto ...

... pero cada producto tiene un único proveedor.

UNA RELACIÓN VARIOS A VARIOS

En una relación varios a varios, un registro de la Tabla A puede tener muchos

registros coincidentes en la Tabla B, y viceversa. Este tipo de relación sólo es

posible si se define una tercera tabla (denominada tabla de unión) cuya clave

Page 7: Introducc base datos-sql

principal (clave principal: uno o más campos (columnas) cuyos valores

identifican de manera exclusiva cada registro de una tabla. Una clave principal

no puede permitir valores Nulo y debe tener siempre un índice exclusivo.

Una clave principal se utiliza para relacionar una tabla con claves externas de

otras tablas.) consta de dos campos : las claves externas (clave externa: uno o

más campos de tabla (columnas) que hacen referencia al campo o campos de

clave principal de otra tabla. Una clave externa indica cómo están relacionadas

las tablas.) de las Tablas A y B. Una relación de varios a varios no es sino dos

relaciones de uno a varios con una tercera tabla. Por ejemplo, la tabla Pedidos

y la tabla Productos tienen una relación de varios a varios que se define

mediante la creación de dos relaciones de uno a varios con la tabla Detalles de

pedidos. Un pedido puede incluir muchos productos, y cada producto puede

aparecer en muchos pedidos.

Clave principal de la tabla Pedidos

Clave principal de la tabla Productos

Un pedido puede incluir muchos productos ...

... y cada producto puede aparecer en muchos pedidos.

UNA RELACIÓN UNO A UNO

En una relación uno a uno, cada registro de la Tabla A sólo puede tener un

registro coincidente en la Tabla B y viceversa. Este tipo de relación no es

habitual, debido a que la mayoría de la información relacionada de esta forma

Page 8: Introducc base datos-sql

estaría en una sola tabla. Puede utilizar la relación uno a uno para dividir una

tabla con muchos campos, para aislar parte de una tabla por razones de

seguridad o para almacenar información que sólo se aplica a un subconjunto

de la tabla principal. Por ejemplo, puede crear una tabla que registre los

empleados participantes en un partido de fútbol benéfico. Cada jugador de

fútbol de la tabla Jugadores de fútbol tiene un registro coincidente en la tabla

Empleados.

Cada jugador de fútbol tiene un registro coincidente en la tabla

Empleados.

Este conjunto de valores es un subconjunto del campo Id. de empleado

y la tabla Empleados.

QUE ES UNA ENTIDAD:

Una entidad es una clase generalizada de personas, lugares o cosas (objetos),

para los cuales se recopilan, almacenan y mantienen datos.

Se puede definir cono entidad a cualquier objeto, real o abstracto, que existe en

un contexto determinado o puede llegar a existir y del cual deseamos guardar

información, por ejemplo: “PROFESOR”, “CURSO”, “ALUMNO”. Las entidades

las podemos clasificar en:

1. En bases de datos, una entidad es la representación de un objeto o concepto

del mundo real que se describe en una base de datos.

Una entidad se describe en la estructura de la base de datos empleando un

modelo de datos.

Page 9: Introducc base datos-sql

Por ejemplo, nombres de entidades pueden ser: Alumno, Empleado, Artículo,

etc.

Cada entidad está constituida por uno o más atributos. Por ejemplo, la entidad

"Alumno" podría tener los atributos: nombre, apellido, año de nacimiento, etc.

QUE ES RELACIÓN:

En lugar de crear combinaciones entre tablas dentro de la consulta, podemos

definir estas relaciones en forma general para toda la base de datos.

Las relaciones así definidas permiten un mayor grado de control de la

integridad y la coherencia de los datos de las tablas entre sí.

QUE ES UN ATRIBUTO:

Los atributos son las propiedades que describen a cada entidad en un conjunto

de entidades.

Un conjunto de entidades dentro de una entidad, tiene valores específicos

asignados para cada uno de sus atributos, de esta forma, es posible su

identificación unívoca.

EXPLIQUE LAS DIFERENCIAS ENTRE LOS TÉRMINOS CLAVE PRIMARIA,

CLAVE CANDIDATA Y SUPERCLAVE.

CLAVE PRIMARIA:

Se define así a un campo o a una combinación de campos que identifica

de forma única a cada fila de una tabla.

Una clave primaria comprende de esta manera una columna o conjunto

de columnas.

No puede haber dos filas en una tabla que tengan la misma clave

primaria.

debe identificar unívocamente a todas las posibles filas de una tabla y no

solo a las filas que se encuentran en un momento determinado.

Page 10: Introducc base datos-sql

SUPERCLAVE

es un atributo o un conjunto de atributos que identifican de modo único

las tuplas de una relación.

CLAVE CANDIDATA

es una superclave en la que ninguno de sus subconjuntos es una

superclave de la relación.

2.9.-EXPLIQUE LAS DIFERENCIAS ENTRE CONJUNTO DE ENTIDADES

DÉBILES Y FUERTES.

CONJUNTO DE ENTIDADES:

Es un conjunto de entidades del mismo tipo. El conjunto de todas las personas

que tienen una cuenta en un banco determinado, por ejemplo pueden ser

definidas como el conjunto de entidades “clientes”.

ENTRE LAS ENTIDADES SE PUEDEN DIFERENCIAR DOS TIPOS:

Entidades Fuertes o Propias

Entidades Débiles o Regulares

LAS ENTIDADES FUERTES O PROPIAS

son aquellas cuyas ocurrencias son identificables por sí mismas.

Es decir, que los atributos que las identifican son propios de la entidad.

Las entidades fuertes se representan mediante un rectángulo.

Ejemplo: Alumno (identificable con el N° Matrícula).

Alumno

Page 11: Introducc base datos-sql

LAS ENTIDADES DÉBILES

Son aquellas cuyas ocurrencias son identificables solamente por estar

asociadas a otra u otras Entidades.

Es decir, que alguno de los atributos que las identifican se refiere a otra

entidad.

Las Entidades Débiles se representan mediante dos rectángulos.

QUÉ ES SQL SERVER:

SQL Server es un conjunto de objetos eficientemente almacenados. Los

objetos donde se almacena la información se denominan tablas, y éstas a su

vez están compuestas de filas y columnas. En el centro de SQL Server está el

motor de SQL Server, el cual procesa los comandos de la base de datos. Los

procesos se ejecutan dentro del sistema operativo y entienden únicamente de

conexiones y de sentencias SQL.

.

INSTALACION DE SQL SERVER:

Paso 1: seleccionamos la carpeta SQL server 2005

Paso 2: abrir la carpeta SQL server x86.

Materia

Page 12: Introducc base datos-sql

Paso 3: abrir la carpeta tolos.

Paso 4: ejecutamos la aplicación setup.

Paso 5: aceptamos la licencia de contrato de SQL server 2005 y damos clic en

siguiente.

Page 13: Introducc base datos-sql

Paso 6: dar clic en instalar.

Page 14: Introducc base datos-sql

Paso 7: damos clic en siguiente.

Paso 8: damos clic en siguiente para comenzar la instalación.

Paso 9: dar clic en siguiente.

Page 15: Introducc base datos-sql

Paso 10: poner el nombre y dar un clic en siguiente.

Paso 11: seleccionamos las dos primeras opciones y dar clic en siguiente.

Paso 12: seleccionamos named instance ponemos un nombre a la instancia y

dar clic en siguiente.

Page 16: Introducc base datos-sql

Paso 13: seleccionamos (use the built-in system account) y damos clic en

siguiente.

Paso14: seleccionamos (mixed mode (Windows authentication and SQL server

authentication)) poner una contraseña y dar clic en siguiente.

Page 17: Introducc base datos-sql

Paso 15: dar clic en siguiente.

Paso 16: seleccionamos las dos opciones y dar clic en siguiente.

Page 18: Introducc base datos-sql

Paso17: dar clic en install para comenzar la instalación.

Paso 18: dar clic en siguiente.

Paso 19: dar clic en finish para concluir la instalación.

Page 19: Introducc base datos-sql

COMO CREAR UNA BASE DE DATOS EN SQL SERVER

1. Abrimos el SQL

2. Damos clic derecho sobre la carpeta llamada Base de Datos y

seleccionamos la opción (nueva base de datos )

3. En donde nos desplegara una pantalla en donde en la parte superior nos

pedirá en nombre que deseemos darle a nuestra base de datos en este

caso la llamaremos sistemas en pondremos aceptar y quedara

registrada en la carpeta base de datos.

COMO CONECTAR EL DISEÑO DE UNA BASE DE ADATOS CON

SQL

1. Realizamos un diseño lógico en ERWIN que este caso lo aremos

con un diseño que relaciona (continentes, países, provincias,

cantones y ciudades).

2. Creamos una base de datos en SQL que se va a llamar

CONECXION

Page 20: Introducc base datos-sql

3. Luego crear un ODBC(para lo cual vamos a seguir los siguientes

pasos )

3.1 Nos dirigimos a panel de control y escogemos Herramientas

Administrativas

3.2 escogemos orígenes de datos (ODBC)

3.3 Escogemos DSN del sistema y agregar

3.4 Bajamos la fecha hasta escoger la opción SQL SERVER y

seleccionamos finalizar

Page 21: Introducc base datos-sql

3.5 Designamos un nombre para referirnos al origen de datos en este

caso utilizaremos conecxion.

3.6 Desconectamos el SQL para copiar el nombre del servidor con el

que deseemos conectarnos y presionamos siguiente.

3.7 establecer la siguiente como predeterminada es decir el

nombre que tiene en SQL que en este caso es conecxion.

Page 22: Introducc base datos-sql

3.8seleccionamos siguiente hasta que aparezca probar orígenes de datos

seleccionas aceptar y terminas de crear el ODBC

4. Procedemos a realizar el diseño físico nos dirigimos a Toll y seleccionamos

Derive New Model.

5. Te aparecerá una pantalla en donde escogerás la opción Physical y donde

dice Database escoger (ODBC Generic) y siguiente.

6. Aparecerá una pequeña ventana en donde seleccionaras en nombre que

pusiste al crear el ODBC para realizar la conexión y siguiente

Page 23: Introducc base datos-sql

6.hasta que aparezca la siguiente ventana en donde deberá seleccionar las

opciones (many to Many y SuperType) y seleccionar (Derive)

7.nuevamente nos dirigimos a Toll escogemos Forward Engineer y Schema

Generation

8. Aparecerá una ventana en donde escogeremos la opción Referential

Integrity y seleccionaremos Create/PK. y (Previun) y empezaremos a verificar

errores y seleccionamos Generate.

COMO CREAR UN BAKUP DE UNA BASE DE DATOS EN SQL

1. Nos dirigimos a la carpeta base de datos

2. Seleccionamos la base de datos de la que vamos a realizar el Bakup

3. Nos dirigimos a tareas y escogemos copia de seguridad

Page 24: Introducc base datos-sql

4. Aparecerá una ventana en donde deberás poner un nombre con el que

quieras que se llame.

COMO RESTAURAR UNA BAKUP

1. Creamos una base de datos en SQL

2. Damos clic derecho sobre la base que a creado.

2.1 Nos dirigimos a tareas

2.2 Restaurar

2.3 Y seleccionamos (base de datos)

Page 25: Introducc base datos-sql

COMO CREAR LA INGENIERÍA REVERSA ES DECIR RESTAURAR UNA

BASE DE DATOS EN SQL A ERWIN

3. Aparecerá una ventana en donde le indicara desde que lugar desea usted

restaurar la base de datos en este caso loa aremos desde un dispositivoy

la base que vamos a restaurar se llama UNIVERSISDAD.

4. Seleccionaremos agregar para encontrar la ubicación del archivo y se

desplegara la siguiente ventana y presionamos aceptar.

Page 26: Introducc base datos-sql

5. A continuación nos dirigimos a la parte superior izquierda y

seleccionamos (opciones) en las que marcaremos las 2 primeras opciones

de la parte derecha y seleccionamos aceptar y se restaurara la base de

datos con todas sus tablas y la información almacenada en la misma.

COMO REALIZAR LA INGENIERIA REVERZA ES DECIR COMO ENVIAR

UNA BASE DE DATOS DE SQL A ERWIN

1.En este caso vamos a enviar la misma base de datos que acabamos de

restaurar.

2. Primeramente creamos un ODBC que se va ha llamado REVERSA

3.Nos dirigimos a Toll.

3.1Reverse Engineer

4.Y se despliega una ventana en donde elegimos Logical/Physical y Next.

Page 27: Introducc base datos-sql

5.Aparece una ventana en la que el parte inferíos izquierda se encuentra la

opción (Model) la misma que desactivaremos y al realizar este acto de

desactivaran todas las demás, realizamos esto por que nosotros para este

caso solo necesitamos la opción (Table).

6. También seleccionaremos de la parte inferior derecha las opciones de

(PrimaryKey y Relation) y Next.

Page 28: Introducc base datos-sql

7. Aparecerá una pequeña pantalla en donde deberá selecciona en nombre

del ODBC que usted creo para la conexión y presionamos (Connect).

8. Al realizar esta acción aparecerá el diseño lógico y físico en ERWIN.

COMO CREAR TABLAS DENTRO DE SQL

Vamos a realizar un ejercicio en donde crearemos una base de datos que se va

a llamar Tablas en la cual vamos a crear la tabla alumno y prueba utilizando

(CREATE TABLE) la que permite crear una tabla dentro de SQL.

1. Nos dirigimos ala parte superior izquierda y seleccionamos (nueva

consulta).

Page 29: Introducc base datos-sql

2. Al lado derecho nos aparecerá una ventana en donde deberemos

ingresar el código para que se cree la tabla

3.este es el código que nos permitirá crear la tabla alumnos y prueba

create table alumno (cedula char (10), nombre varchar (20), apellido varchar

(20), detalle varchar (20))

create table evaluacion (descripcion varchar(20))

4.Este es el resultado

PARA INSERTAR POR MEDIO DE CODIGO INFORMACION A LAS TABLAS

LO HACEMOS DE LA SIGUIENTE MANERA

Page 30: Introducc base datos-sql

1.Este código sirve para agregar información a la tabla alumnos que creamos

anteriormente

Insert into alumno(cedula,nombre,apellido) values

('050343635','carolina','vinocunga')

2.Para visualizar el resultado nos dirigimos a tablas escogemos la tabla

alumnos damos clic derecho y seleccionamos la opción ( abrir tabla tabla)

3. Este será el resultado que observaremos

4.

Page 31: Introducc base datos-sql

COMO UTILIZAMOS EL SELECT PARA SACR TODA LA INFORMACION DE

UNA TABLA

1.Insertamos el siguiente código.

select * from alumno

2.Este será el resultado que observaremos

COMO UTILIZAMOS EL SELECT PARA PARA SACAR SOLO LOS

NOMBRES DE LA TABLA ESTUDIENTES

1.Este es el codigo que se debe ingresar

select nombre from alumno

2.Este será el resultado que observaremos

Page 32: Introducc base datos-sql

COMO UTILIZAMOS EL SELECT PARA PARA SACAR SOLO LOS

NOMBRES Y APELLIDOS DE LA TABLA ESTUDIENTES

1.Este es el codigo que se debe ingresar

select nombre,apellido from alumno

2.Este será el resultado que observaremos

COMO CREAR ALIAS

1.Este es un codigo utilisando alias en el cual desplegaremos como reultado la

cedula y el nombre de la tabla alumnos

select a.cedula,a.nombre from alumno a

2.Este será el resultado que observaremos

1.

Page 33: Introducc base datos-sql

PARA QUE UTILIZAMOS EL (GO) EN LAS CONSULTAS

Este nos permite ejecutar todas las lineas de codigo y desplegar los resultados

de cad uno de ellas

1.este seria el codigo

select * from alumno

go

select nombre from alumno

go

select nombre,apellido from alumno

go

select a.cedula,a.nombre from alumno a

2.Este seria el resultado que observemos

Page 34: Introducc base datos-sql

COMO UTILIZAR EL WHERE PARA REALIZAR CONSULTAS

Para esto bamos a utilizar la base de datos continemte

1.estas son la siguientes consultas

**la ciudad X a que pais pertenece y a que provincia**

select ci.nombre, pa.nombre, pro.nombre from paises pa, cantones ca,

provincias pro, ciudad ci

where

pa.Cod_pais = pro.Cod_pais and

pro.Cod_provincia = ca.Cod_provincia and

ca.Cod_CAnton = ci.Cod_CAnton and

ci.nombre = 'Pillaro'

2.El resultado es el siguiente

***QUE CIUDADES PERTENECEN AL CONTINENTE X******

Page 35: Introducc base datos-sql

select ci.nombre, con.nombre from paises pa, cantones ca, provincias pro,

ciudad ci, continentes con

where

con.Cod_Continente = pa.Cod_Continente and

pa.Cod_pais = pro.Cod_pais and

pro.Cod_provincia = ca.Cod_provincia and

ca.Cod_CAnton = ci.Cod_CAnton and

con.nombre = 'America'

2.El resultado es el siguiente

***el pais ECUADOR que ciudades tienen y en que continente esta******

select pa.nombre,ci.nombre, con.nombre from paises pa, cantones ca,

provincias pro, ciudad ci, continentes con

where

con.Cod_Continente = pa.Cod_Continente and

pa.Cod_pais = pro.Cod_pais and

pro.Cod_provincia = ca.Cod_provincia and

ca.Cod_CAnton = ci.Cod_CAnton and

pa.nombre = 'Ecuador'

2.El resultado es el siguiente

Page 36: Introducc base datos-sql

ORDER BY:

SQL cláusula ORDER BY se usa para ordenar los conjuntos de datos

recuperados de una base de datos SQL. El orden de los datos seleccionados

se puede hacer por una o más columnas en una tabla. Si queremos ordenar

nuestra tabla de los Usuarios por la columna FirstName, tendremos que utilizar

el siguiente ORDEN DEL instrucción SQL:

SELECT * FROM Users

ORDER BY FirstName

El resultado de la instrucción del ordey by anterior será la siguiente

Nombre Apellido Fecha de nacimiento

Email Ciudad

David Stonewall 01/03/1954 [email protected] San Francisco

John Smith 12/12/1969 [email protected]

New York

Paul O'Neil 09/17/1982 [email protected]

New York

Stephen Grant 03/03/1974 [email protected] Los Angeles

Susan Grant 03/03/1970 [email protected]

Los Angeles

Como usted puede ver las filas están ordenadas alfabéticamente por la

columna Nombre.

Page 37: Introducc base datos-sql

Usted puede usar ORDER BY para ordenar los datos recuperados por más de

una columna. Por ejemplo, si desea ordenar por tanto Apellido y Ciudad de

columnas, lo haría con la instrucción ORDER BY siguientes:

select nombre,apellido,sueldo from empleados order by nombre desc

select apellido,sueldo from empleados order by nombre desc

HAVING

La cláusula HAVING es opcional y se usa en combinación con la cláusula

group by. Es similar al caso de la cláusula, pero la cláusula que establece

restricciones Tras determinar qué registros se muestran después de que han

sido agrupados. Normalmente se coloca cerca de la final de la instrucción

SQL, y una instrucción SQL con la cláusula HAVING puede o no incluir la

cláusula group by.

La sintaxis de Vista es el siguiente:

SELECT col1, ... column_n, aggregate_function (expresión)

Table_name FROM

[WHERE condición]

[GROUP BY columna1, ... ] Column_n

HABIENDO condición

Ejemplo # 1

Seleccionar elemento, Sum (precio) como sumaTotal

De Antigüedades

Grupo por artículo

Habiendo Sum (precio)> 57

Esta consulta devuelve una lista de artículos diferentes y un campo llamado

'sumaTotal' que cuenta la suma resultado de antigüedades que faciliten a cada

tema. La cláusula HAVING sólo devolverá los elementos con suma resultado

superior a 57 dólares.

Ejemplo # 2

Seleccione SellerID, Conde (*) como Number_of_Sellers

De Antigüedades

Cuando BuyerID = 21

Page 38: Introducc base datos-sql

Grupo por SellerID

Habiendo Conde (*)> 1

Este ejemplo muestra una lista de id de vendedor, junto con su cuenta, pero

sólo cuando haya más de un vendedor con igual al 15 BuyerID.

BETWEEN

Utilizado

para especificar un intervalo de valores.

Mientras que la palabra clave IN ayuda a las personas a limitar el criterio de

selección para uno o más valores discretos, la palabra clave BETWEEN

permite la selección de un rango. La sintaxis para la cláusula BETWEEN es la

siguiente:

SELECT "nombre_columna"

FROM "nombre_tabla"

WHERE "nombre_columna" BETWEEN 'valor1' AND 'valor2'

Esto seleccionará todas las filas cuya columna tenga un valor entre 'valor1' y

'valor2'.

Por ejemplo, podríamos desear seleccionar la visualización de toda la

información de ventas entre el 06 de enero de 1999, y el 10 de enero de 1999,

en la Tabla Store_Information,

Tabla Store_Information

store_name Sales Date

Los Angeles 1500 € 05-Jan-1999

San Diego 250 € 07-Jan-1999

San Francisco 300 € 08-Jan-1999

Boston 700 € 08-Jan-1999

Ingresamos,

SELECT *

FROM Store_Information

Page 39: Introducc base datos-sql

WHERE Date BETWEEN '06-Jan-1999' AND '10-Jan-1999'

Tenga en cuenta que la fecha puede almacenarse en diferentes formatos

según las diferentes bases de datos. Esta guía de referencia simplemente elige

uno de los formatos.

Resultado:

store_name Sales Date

San Diego 250 € 07-Jan-1999

San Francisco 300 € 08-Jan-1999

Boston 700 € 08-Jan-1999

FUNCIONES

Sum:

Devuelve la suma del conjunto de valores contenido en un campo especifico de

una consulta. Su sintaxis es: Sum(expr)

En donde expr representa el nombre del campo que contiene los datos que

desean sumarse o una expresión que realiza un cálculo utilizando los datos de

dichos campos. Los operandos de expr pueden incluir el nombre de un campo

de una tabla, una constante o una función (la cual puede ser intrínseca o

definida por el usuario pero no otras de las funciones agregadas de SQL).

SELECT Sum(PrecioUnidad * Cantidad) AS Total FROM DetallePedido;

Count:

Calcula el número de registros devueltos por una consulta. Su sintaxis es la

siguiente: Count(expr)

En donde expr contiene el nombre del campo que desea contar. Los operandos

de expr pueden incluir el nombre de un campo de una tabla, una constante o

una función (la cual puede ser intrínseca o definida por el usuario pero no otras

de las funciones agregadas de SQL). Puede contar cualquier tipo de datos

incluso texto.

Aunque expr puede realizar un cálculo sobre un campo, Count simplemente

cuenta el número de registros sin tener en cuenta qué valores se almacenan en

los registros. La función Count no cuenta los registros que tienen campos null a

Page 40: Introducc base datos-sql

menos que expr sea el carácter comodín asterisco (*). Si utiliza un asterisco,

Count calcula el número total de registros, incluyendo aquellos que contienen

campos null. Count(*) es considerablemente más rápida que Count(Campo).

No se debe poner el asterisco entre dobles comillas ('*').

SELECT Count(*) AS Total FROM Pedidos;

Si expr identifica a múltiples campos, la función Count cuenta un registro sólo si

al menos uno de los campos no es Null. Si todos los campos especificados son

Null, no se cuenta el registro. Hay que separar los nombres de los campos con

ampersand (&).

SELECT Count(FechaEnvío & Transporte) AS Total FROM Pedidos;

AVG

Calcula la media aritmética de un conjunto de valores contenidos en un campo

Especificado de una consulta. Su sintaxis es la siguiente: Avg(expr)

En donde expr representa el campo que contiene los datos numéricos para los

que se desea calcular la media o una expresión que realiza un cálculo

utilizando los datos de dicho campo. La media calculada por Avg es la media

aritmética (la suma de los valores dividido por el número de valores). La función

Avg no incluye ningún campo Null en el cálculo.

SELECT Avg(Gastos) AS Promedio FROM Pedidos WHERE Gastos > 100;

Max, Min

Devuelven el mínimo o el máximo de un conjunto de valores contenidos en un

campo especifico de una consulta. Su sintaxis es:

Min(expr)

Max(expr)

En donde expr es el campo sobre el que se desea realizar el cálculo. Expr

pueden incluir el nombre de un campo de una tabla, una constante o una

función (la cual puede ser intrínseca o definida por el usuario pero no otras de

las funciones agregadas de SQL).

Page 41: Introducc base datos-sql

SELECT Min(Gastos) AS ElMin FROM Pedidos WHERE Pais = 'España';

SELECT Max(Gastos) AS ElMax FROM Pedidos WHERE Pais = 'España';

DE LA MISMA BASE ANTERIOR VAMOS A UTILIZAR LAS FUNCIONES

ANTES MENCIONADAS

select count(c.nombre)

from pais p,ciudad c,provincias pro,cantones ca,continente con

where

con.cod_cont=p.cod_cont and

p.cod_pais=pro.cod_pais and

pro.Cod_Provin=ca.Cod_Provin and

ca.Cod_Cant=c.Cod_Cant and

con.nombre='america'

select sum(c.poblacion)

from pais p,ciudad c,provincias pro,cantones ca,continente con

where

con.cod_cont=p.cod_cont and

p.cod_pais=pro.cod_pais and

pro.Cod_Provin=ca.Cod_Provin and

ca.Cod_Cant=c.Cod_Cant and

con.nombre='america'

select max(c.poblacion)

from pais p,ciudad c,provincias pro,cantones ca,continente con

where

con.cod_cont=p.cod_cont and

p.cod_pais=pro.cod_pais and

pro.Cod_Provin=ca.Cod_Provin and

ca.Cod_Cant=c.Cod_Cant and

con.nombre='america'

select min(c.poblacion)

from pais p,ciudad c,provincias pro,cantones ca,continente con

where

con.cod_cont=p.cod_cont and

p.cod_pais=pro.cod_pais and

pro.Cod_Provin=ca.Cod_Provin and

ca.Cod_Cant=c.Cod_Cant and

Page 42: Introducc base datos-sql

con.nombre='america'

A CONTINUCION MOSTRAREMOS UN EJEMPLO MAS SENCILLO DE

UTILIZAR ESTAS FUNCIONES

CAROLINA VINOCUNGA LASSO 250

LUIS TOAPANTA LATACUNGA 300

KARINA TOAQUIZ TANICUCHI 150

MARIA VIRACOCHA SALCEDO 280

NULL NULL NULL NULL

1.Utilizamos la funcion max para sacar el sueldo mas alto de un empleado

select max(sueldo) from empleado

2. Utilizamos la funcion min para sacar el sueldo mas bajo de un empleado

select min(sueldo) from empleado

3. Utilizamos la funcion min para sacar el sueldo mas bajo de un empleado

CONSUTAS EN SQL

INNER JOIN.

Consultas internas LEFT JOIN

Page 43: Introducc base datos-sql

RIGHT JOIN.

FULL JOIN.

Consultas externas CROSS JOIN

INNER JOIN: Con esta operación se calcula el producto cruzado de

todos los registros; así cada registro en la tabla A es combinado con

cada registro de la tabla B; pero sólo permanecen aquellos registros en

la tabla combinada que satisfacen las condiciones que se especifiquen.

Sintaxis:

SELECT *

FROM tabla 1 INNER JOIN tabla 2 ON tabla 1.campo 1 = tabla 2.campo 2

Ejemplo:

Empleados Departamento

Emp.apellido Emp.Id.dep

Solano 34

Jordán 33

Robinson 34

SELECT *

FROM Empleados INNER JOIN Departamento ON Empleado.Emp.Id.dep =

Departamento.Dep.Id.dep

Emp.apellido Emp.Id.dep Dep.nom.dep Dep.Id.dep

Solano 34 producción 34

Jordán 33 Ingeniería 33

Robinson 34 Ventas 34

FULL JOIN: Devuelve la unión de lo que dice la condición no combina

y no compara.

Dep.nom.dep Dep.Id.dep

producción 34

Ingeniería 33

Ventas 34

Page 44: Introducc base datos-sql

Sintaxis:

Select *

Full join nombre_tabla on condición

Ejemplo:

Empleados

Emp.apellido Emp.Id.dep

Solano 34

Jordán 33

Robinson 34

Departamento

Dep.nom.dep Dep.Id.dep

producción 34

Ingeniería 33

Ventas 34

Sistemas 31

Select *

Full join Departamento on Emp.Id.dep= Dep.Id.dep

Emp.apellido Emp.Id.dep Dep.nom.dep Dep.Id.dep

Solano 34 producción 34

Jordán 33 Ingeniería 33

Robinson 34 Ventas 34

Null null Sistemas 31

LEFT JOIN: (unión a la izquierda), une dos tablas de acorde con la

condición.

Sintaxis:

Select *

From tabla1 left join tabla2 on tabla1.campo1=tabla2.campo2

Page 45: Introducc base datos-sql

Ejemplo:

EMPLEADOS

C_i apellido oficina

11 Herrera 1

22 Parra 2

33 Suntasig 3

OFICINA

Select *

From Empleados left join Oficina on Empleados.oficina=Oficina.ofocina

Oficina nombre C_i Apellido

1 Rec. Hum. 11 Herrera

2 Contab. 22 Parra

3 Informática 33 Suntasig

4 márquetin null null

RIGHT JOIN: (unión a la derecha), une las dos tablas de acorde a la

condición.

Sintaxis:

Select *

From tabla1 right join tabla2 on tabla1.campo1=tabla2.campo2

Ejemplo:

oficina Nombre

1 Rec. Hum.

2 Contab.

3 Informática

4 márquetin

Page 46: Introducc base datos-sql

Empleados

C_i apellido oficina

11 Herrera 1

22 Parra 2

33 Suntasig 3

Oficina

Select *

From Empleados right join Oficina on Empleados.oficina=Oficina. oficina

C_i apellido oficina Nombre

11 Herrera 1 Rec. Hum.

22 Parra 2 Contab.

33 Suntasig 3 Informática

Null null 4 márquetin

CROSS JOIN: Une dos tablas, combina la tabla 1 con cada fila de la

tabla 2.

Sintaxis.

Select *

From tabla1 cross join tabla 2 ó from tabla 1, tabla 2

Ejemplo:

Empleados

C_i apellido oficina

11 Herrera 1

oficina Nombre

1 Rec. Hum.

2 Contab.

3 Informática

4 márquetin

Page 47: Introducc base datos-sql

22 Parra 2

33 Suntasig 3

Oficina

Select *

From Empleados cross join Oficina ó from Empleados 1, Oficina

C_i apellido oficina oficina Nombre

11 Herrera 1 1 Rec. Hum.

22 Parra 2 1 Rec. Hum.

33 Suntasig 3 1 Rec. Hum.

11 Herrera 1 2 Contab.

22 Parra 2 2 Contab.

33 Suntasig 3 2 Contab.

11 Herrera 1 3 Informática

22 Parra 2 3 Informática

33 Suntasig 3 3 Informática

11 Herrera 1 4 márquetin

22 Parra 2 4 márquetin

33 Suntasig 3 4 márquetin

Bibliografía:

http://www.duiops.net/manuales/access/access10.htm

http://es.wikipedia.org/wiki/Dato

http://www.babylon.com/definition/fila_(base_de_datos)/Spanish

http://es.wikipedia.org/wiki/Clave_primaria

oficina Nombre

1 Rec. Hum.

2 Contab.

3 Informática

4 márquetin