Sei sulla pagina 1di 72

Ciclo: X Mdulo: I

INTEGRACION DE
APLICACIONES DE LAS
TIC

Semana N06

Ing. Zoila Collantes


BD SQL

CONTENIDO:
Introduccin: Bases de datos
Modelo relacional
SQL
Repaso de comandos principales
Lenguaje de definicin de datos (DDL)
Lenguaje de manipulacin (DML)
Demostraciones
Extensiones de SQL para el mundo SIG
Problemas con el modelo relacional
Que es una BD?
Ejemplo 1:
Para una UNIVERSIDAD, las entidades de inters podran ser:
ALUMNOS,PROFESORES, SALONES, etc.

Para la entidad ALUMNO, los atributos importantes podran ser:


NOMBRE,DIRECCION, TELEFONO, CARRERA, MATRICULA, etc.
Ejemplo 2:
Para una INDUSTRIA, las entidades de inters podran ser:
DEPARTAMENTOS,EMPLEADOS, PRODUCTOS, etc.

Para la entidad DEPARTAMENTO, los atributos importantes podran ser:


NOMBRE DEL DEPARTAMENTO, NOMBRE DEL DIRECTOR DEL
DEPARTAMENTO, FUNCION DEL DEPARTAMENTO, etc.

Un archivo de una base de datos tambin puede ser pensado como una
tabla en la que tenemos renglones y columnas, cada rengln
correspondiendo a un registro del archivo y cada columna correspondiendo
a un campo.
Ahora te toca a ti mencionar ejemplos de BD?
Bases de datos SQL
Definicin de base de datos
Una base de datos es una coleccin de archivos relacionados que
permite el manejo de la informacin de alguna compaa. Cada uno
de dichos archivos puede ser visto como una coleccin de registros y
cada registro est compuesto de una coleccin de campos.
Cada uno de los campos de cada registro permite llevar informacin de
algn atributo de una entidad del mundo real.
Por ejemplo para llevar el control de los telfonos de personas podra
ser til
una base de datos que constar de los datos de la tabla.
Ahora te toca Ti.
Colocar verdadero o falso.
SQL (Structured Query Language) es un lenguaje de programacin
estndar e interactivo para la obtencin de informacin desde
una base de datos y para actualizarla( ).
Base de datos SQL ofrece un rendimiento predecible, escalabilidad
sin tiempo de inactividad, continuidad empresarial y proteccin de
datos (todo ello casi sin administracin( ).
Al basarse en el motor SQL Server, Base de datos SQL admite las
herramientas, bibliotecas y API de SQL Server existentes, lo que
facilita el proceso del paso a la NO nube( ).
Bsqueda secuencial
El problema de la tabla 1.1 es que, dado que los datos no estn ordenados,
buscar un telfono en particular puede ser lento. Asumiendo que tenemos N
renglones en la tabla, localizar un elemento en particular tendra los
siguientes casos:

Mejor Caso: Slo se busca en 1 rengln.


Peor Caso: Se busca en los N renglones.
Caso Promedio: Se busca en [( N+1)/ 2] renglones.

Este tipo de bsqueda se le conoce como bsqueda secuencial y es la nica


alternativa de bsqueda cuando los datos no estn ordenados y no se cuenta
con estructuras auxiliares.
Porque las bases de datos?
Parece obvio hoy en da
Tradicionalmente sistemas trabajaban a base de ficheros sueltos, y
procedimientos sobre ellos
sistemas a medida de cada aplicacin
Bdatos: separacin de datos e su implementacin (hardware/software)
Independencia
Proteccin (permite sistema multiusuario)
Flexibilidad (conectar la bdatos a todo)
Eficiencia (minimiza duplicidad de datos)
Integridad (minimiza errores lgicos)
Modelos de bases de datos
Modelo jerrquico
estructura de rbol: relaciones 1:muchos
requiere duplicacin de datos
Modelo en red
permiten mejor relacin entre los datos
todo conectado a todo
muy utilizado en aplicaciones COBOL (empresarial)
Modelo relacional
modelo dominante hoy en da
Sistemas manejadores de bases de datos
Los sistemas manejadores de bases de datos conocidos tambin
como bases de datos electrnicas, se usan ampliamente para:
ORGANIZAR Y MANIPULAR GRANDES VOLUMENES DE DATOS DE LAS
EMPRESAS.

Un sistema manejador de base de datos no es ms que UN SISTEMA


COMPUTARIZADO PARA LLEVAR REGISTROS.
Algunas de las facilidades que proporciona el
sistema a los usuarios son:
Agregar Nuevos Archivos a la Base de Datos.
Agregar Nuevos Registros a los Archivos existentes.
Recuperacin de Datos.
Actualizacin de Datos.
Borrar registros.
Borrar Archivos.
Proporcionar los mecanismos para el control del acceso concurrente
a los datos.
Tipos de datos en una base de datos
Los datos pueden ser divididos en dos grandes categoras:
ALFANUMERICA
NUMERICA
Los datos alfanumricos consisten de caracteres alfabticos (A - Z, o a - z),
caracteres numricos (0 - 9) y de algunos smbolos especiales como # $ %.
Por ejemplo, el nmero de serie de un televisor: RTA-XA100
Los datos numricos estn compuestos por los dgitos del 0 al 9, punto
decimal y signo. Por ejemplo, el sueldo de un empleado: 1000000.00
Adicionalmente a estos tipos existen otros
tipos que son utilizados como:

LOGICO
FECHA
MEMO
GENERAL (Puede contener objetos audio, vdeo, imgenes,...)
Enfoques para bases de datos
Existen 3 enfoques principales para el manejo de BASES DE DATOS:

ENFOQUE RELACIONAL
ENFOQUE JERARQUICO
ENFOQUE DE REDES
Enfoque Relacional
El enfoque relacional ''ve'' a los datos como un conjunto de TABLAS
(ARCHIVOS).Donde cada tabla consta de un conjunto de RENGLONES
(REGISTROS) y cada RENGLON constando de un conjunto de
COLUMNAS (CAMPOS). La RELACION entre las TABLAS (ARCHIVOS)
se establece solo por nombres de atributos comunes.
EJEMPLO
Se tiene una EMPRESA que se necesita tener la informacin de las
PARTES que utiliza,los PROVEEDORES de la empresa y el detalle de
QUE PARTES SUMINISTRA UN PROVEEDOR. Se sabe que un proveedor
puede suministrar 0 ms partes y que una parte puede ser
suministrada por 0 ms proveedores. Nuestra base de datos podra
ser vista como lo ilustra la figura 1.1.
Enfoque Jerrquico
Permite ''ver'' una base de datos como compuesta de un CONJUNTO
DE RELACIONES PADRE-HIJO, Por ejemplo, la base de datos anterior
se vera como en la figura 1.2.

En donde se modela claramente las partes que suministra un


proveedor, pero no sera posible representar partes que no sean
suministradas (NO PUEDE HABER HIJOS SIN PADRE).
Figura 1.2: Modelo Jerrquico de Bases de Datos de Partes, Proveedores y Pedidos

Adems no es fcil saber quien suministra una determinada parte, por lo que se podra
modelar la misma base de datos de la siguiente como se ilustra en la figura 1.3.
Figura 1.3. Modelo Jerrquico de Bases de Datos de Partes, Proveedores y Pedidos.
Pero, en este caso, no es posible tener la informacin de proveedores que no suministran
algo, y no es fcil identificar las partes que suministra un proveedor.
En ambos casos el enfoque jerrquico tiene la desventaja de una gran redundancia de datos.
Enfoque de Redes
Modela la informacin como conjuntos, donde hay dos tipos de
conjuntos:

PROPIETARIOS (Equivale a un padre en el enfoque jerrquico) y


MIEMBROS (Equivale a un hijo dentro del enfoque jerrquico).
En el enfoque de REDES la redundancia se reduce al mximo, no se
pierde informacin debido a que una parte no se suministre o a que
un proveedor no suministre alguna parte.
Es el enfoque ms eficiente para representar relaciones, ms sin
embargo, tiene la desventaja de ser MUY COMPLEJO. El modelo de
bases de datos de este enfoque se puede ver en la figura 1.4.
Ahora te toca .
Colocar Verdadero o Falso segn correspondan.

De los tres enfoques el ms usado y el que tiene bases ms formales


es el enfoque relacional, motivo por el cul casi el 100% de los
manejadores son construidos con este enfoque( )
Componentes de un Sistema de Base de Datos
Involucra los siguientes componentes:

+Datos +Hardware +Software +Usuarios es verdadero o falso( )


Datos
Que son los datos?
Datos
Los datos dentro de una base de datos estn integrados y son
compartidos:

INTEGRADOS: Puesto que la base de datos es la unificacin de varios


archivos con
redundancia parcial o totalmente eliminada.
COMPARTIDOS: Esto implica que los datos pueden ser accesados
concurrentemente por
diferentes usuarios.
Ahora te toca :
Colocar verdadero o Falso.
Un dato es una representacin simblica (numrica, alfabtica,
algortmica, espacial, etc.) de un atributo o variable cuantitativa o
cualitativa( )
Hardware
Consiste bsicamente de unidades de almacenamiento secundario,
principalmente discos duros, discos compactos, cintas magnticas etc.
Software
Entre la base de datos fsica y los usuarios existe una capa de
Software denominada SISTEMA MANEJADOR DE BASE DE DATOS
(SMBD DBMS).

Todos los requerimientos de acceso a la base de datos son manejados


por el SMBD.
Usuarios
Hay 3 tipos de Usuarios:

Programador de Aplicaciones. Se encarga de escribir programas para


el manejo de la Base de Datos, Usando un lenguaje de alto nivel.
Usuario Final. Es el que utiliza un lenguaje de comandos y/o
Programas de aplicacin.
Administrador de la base de datos. Es el responsable de definir
polticas de acceso a la Base de Datos.
Ventajas de Utilizar una Base de Datos
Informacin compacta. No se necesitan voluminosos archivos de
papel.
Velocidad. La velocidad de operacin es mayor a la que se tiene con
un sistema manual.
Menos cansado. Al manipular informacin ms organizada.
Actualizacin. La informacin se puede mantener ms fcilmente
actualizada.
Un control centralizado. Se reduce la redundancia. Se evita la
inconsistencia. Los datos pueden ser compartidos. Se tiene el control
del acceso. La integridad puede ser mantenida.
Inconsistencia
Cuando dos instancias del mismo elemento no tienen valores iguales.
Por ejemplo, cuando hay dos registros para el alumno con matricula
331540 (en diferentes archivos), los atributos iguales deben tener los
mismos valores.
Falta de Integridad
Se da la falta de integridad cuando una instancia de un elemento
tiene valores raros. Por ejemplo, que el nmero de horas trabajadas a
la semana por un empleado sea de 400.
Conceptos Adicionales
Campo Almacenado
Es la unidad de datos ms pequea que se encuentra almacenada.
Registro Almacenado
Es una coleccin de campos almacenados que estn relacionados.
Archivo Almacenado
Es el conjunto de todas las ocurrencias de un registro almacenado.
Representacin de Datos Numricos
Se pueden almacenar como:
+Un String de Caracteres. +Un Decimal Empacado. +En Binario.
Representacin de Datos Carcter
Se Pueden almacenar en ASCII, EBCDIC, etc.
Manejo de Objetos
Se pueden manejar como campos objeto que pueden ser Grficas,
Sonido, Hojas de Calculo, Textos, etc.
Codificacin de Datos
Resulta til en ocasiones almacenar los datos en forma codificada. v.g.
En lugar de almacenar los nombres de los colores podramos
codificarlos para ahorrar espacio y facilidad de uso de acuerdo a la
tabla 1.4.

Tabla 1.4: Tabla de Codificacin de Colores


Materializacin de Datos

Existen campos virtuales, debido a que no tienen equivalencia con un


campo almacenado, y para poder ser accesados deben ser calculados.
Por ejemplo, un campo virtual llamado PROMEDIO que depende de
otros datos, de forma que para ser accesado debe ser calculado
primero.
Modelo relacional
Dr Edgar (Ted) Codd, de la IBM
1970 A relational model of data for large shared data banks Communications of
the ACM 13(6).
Modelo muy simple, flexible hasta cierto punto
Todo en tablas, con columnas y filas
Operaciones para crear, borrar, modificar tablas
Otras operaciones (lgebra relacional) para manipular (consultar) estas tablas...
El modelo se caracteriza por tres elementos
Caractersticas del modelo
Elemento estructural: forma de guardar datos
todo en tablas, y nada ms que tablas
sin duplicar registros (filas, tuplas)
campos (columnas) con nombres nicos
entradas en un campo de solo un tipo
numrico (entero, real..), texto, fecha, etc.
todas las entradas sern datos atmicos
orden de filas/columnas no importa
valores nulos soportados (<> 0)
claves para crear relaciones (solo una es clave primaria)
Caractersticas
Elemento de manipulacin: que se puede hacer
Entrada: una o mas tablas
Salida: una tabla nueva
Codd define lgebra y clculo relacional (el usuario no los vea)
En la prctica, solo son 3 operadores fundamentales:
SELECT: especificar criterios de bsqueda y crear una nueva tabla con solo los datos
que buscbamos
PROJECT: copia un subconjunto de campos a una tabla nueva
JOIN: pega dos tablas para crear una nueva
Select y Join: operaciones crticas en el SIG vectorial
Caractersticas
Elemento de integridad: control lgico
Integridad de entidades
garantiza que los campos clave tengan datos (no nulos) y que si existe un registro se
puede localizar
Integridad referencial
mantiene intactas relaciones (referencias) de clave a clave
no puedes borrar un registro al que depende otra tabla
los dos campos clave deben ser del mismo tipo
SQL y el modelo relacional
SQL no forma parte del modelo relacional
Query-By-Example (QBE), otros lenguajes de consulta pueden aplicarse tambin
al modelo
SQL ha sido aceptado como el lenguaje de facto
SQL aceptado por Codd, con matices
Sirve como lenguaje completo: de definicin (DDL) y de manipulacin (DML) de
datos segn el modelo relacional
Tiene una estructura pseudo inglsa
Se utiliza como lingua franca entre sistemas
Repaso de comandos SQL
DDL:
CREATE <tabla>
DROP <tabla>
DML:
SELECT <columna(s) de datos>
FROM <tabla(s)>
WHERE <condicin lgica>
Ejemplos del sintaxis SQL
create table zona (
IdZona smallint not null unique,
NomZona char(30) not null unique,
Superf smallint,
IdOfCD smallint not null
);
create table tipo (
IdTipo smallint not null unique,
DescTipo char(30) not null unique
);
Mas ejemplos...
SELECT DISTINCT NomCons
FROM ofarea,relacion,ofcd,zona,parcela,construc
WHERE NomAr=Central
AND ofarea.IdAr=relacion.IdAr
AND relacion.IdOfCD=zona.IdOfCD
AND zona.IdZona=parcela.IdZona
AND parcela.IdCons=construc.IdCons;
Repaso de comandos SQL
DDL:
CREATE <tabla>
DROP <tabla>
DML:
SELECT <columna(s) de datos>
FROM <tabla(s)>
WHERE <condicin lgica>
Ejemplos del sintaxis SQL
create table zona (
IdZona smallint not null unique,
NomZona char(30) not null unique,
Superf smallint,
IdOfCD smallint not null
);
create table tipo (
IdTiposmallint not null unique,
DescTipo char(30) not null unique
);
Mas ejemplos...
SELECT DISTINCT NomCons
FROM ofarea,relacion,ofcd,zona,parcela,construc
WHERE NomAr=Central
AND ofarea.IdAr= relacin.IdAr
AND relacion.IdOfCD= zona.IdOfCD
AND zona.IdZona= parcela.IdZona
AND parcela.IdCons= construc.IdCons;
Mas ejemplos...
SELECT NomAr,AVG( Superf),SUM (Superf)
FROM ofarea,relacion,zona
WHERE ofarea.IdAr= relacion.IdAr
AND relacion.IdOfCD= zona.IdOfCD
GROUP BY NomAr;
aciones
Son BBDD relacionales, no?
Dividimos los datos entre varias tablas (especficas) para minimizar la duplicacin
de datos, y tambin las dependencias entre campos
proceso conocido como normalizacin
Hay relaciones de 3 tipos entre atributos
1:1, una persona tiene un DNI
1:M, una persona tiene muchos amigos
M:N, una tienda tiene muchos clientes, cada uno de los cuales es cliente de muchas tiendas
Relaciones (2)
El modelo relacional no permite relaciones M:N, por eso a veces hay que crear
nuevas tablas (auxiliares) como puentes entre una tabla y otras
Ejemplo de la Videoteca:
tabla clientes (cada cliente es nico)
tabla pelculas (cada pelcula es nica)
Problema: Como modelar el caso en que una pelcula esta en manos de muchos clientes, y
que cada cliente puede haber alquilado muchas pelculas?
Solucin: nueva tabla movimientos, con campos en comn con clientes y
pelculas
laves
Para enlazar tablas mediante un campo en comn
Claves primarias (campo nico), como DNI en la tabla clientes
Claves externas (forneas), como DNI en la tabla movimientos
Diseo de la Base de Datos
Cuales son las entidades (y sus atributos) de importancia
Cuales son las relaciones entre ellas
Creacin de modelos E-A-R Luego disear una bdatos fsica de acuerdo con el
modelo
Este diseo no es una tarea trivial
La explotacin del SIG (consultas posibles) se basa en este diseo !!
Redisear una base de datos a posteriori MUY caro !!
Microcomputacin II

Transact-SQL: Introduccin
Transact-SQL es un lenguaje que sirve para la
definicin, tratamiento y control de los datos.

Transact-SQL es el lenguaje de programacin de MS-


SQL Server.

58
Microcomputacin II

Transact-SQL: Introduccin

El lenguaje de programacin Transact-SQL

Tipos de instrucciones de Transact-SQL

Elementos de la sintaxis de Transact-SQL

59
Microcomputacin II
El lenguaje de programacin Transact-SQL

Implementa el estndar ISO del nivel bsico de la especificacin ANSI


SQL-92
Los organismos ANSI (American National Standards Institute) e
ISO
(International Standards Organization) han definido estndares
para SQL. Mediante Transact-SQL, Microsoft SQL Server 2000
admite el nivel bsico de implementacin de SQL-92, el estndar
SQL publicado por ANSI e ISO en 1992.

Se pueden ejecutar desde cualquier producto que cumpla los requisitos


bsicos
Los elementos del lenguaje Transact-SQL que cumplen los requisitos de
ANSI-SQL se pueden ejecutar desde cualquier producto que cumpla los
requisitos bsicos de ANSI-SQL.

Incluye una funcionalidad ampliada


Transact-SQL incluye, adems, varias extensiones que proporcionan una
funcionalidad ampliada.

60
Microcomputacin II

Tipos de instrucciones de Transact-SQL


Una consulta es una peticin que se hace para obtener datos
almacenados en SQL Server.

Todas las consultas presentan al usuario el conjunto de


resultados de una instruccin SELECT.

Un conjunto de resultados es una tabla que muestra los


datos obtenidos mediante la instruccin SELECT. La tabla
tiene filas y columnas.

61
Microcomputacin II

Tipos de instrucciones de Transact-SQL


La escritura y ejecucin de instrucciones de Transact-SQL es una de
las formas en que se puede realizar una consulta en SQL Server.

Cuando escriba y ejecute instrucciones de Transact-SQL, utilizar:

Instrucciones del Lenguaje de definicin de datos (DDL)


se utilizan para crear objetos en la base de datos.

Instrucciones del Lenguaje de control de datos (DCL)


se utilizan para determinar quin puede ver o modificar los datos.

Instrucciones del Lenguaje de tratamiento de datos (DML)


se utilizan para consultar y modificar los datos.

62
Microcomputacin II

Instrucciones del Lenguaje de definicin de datos (DDL)

Definen los objetos de la base de datos


Las instrucciones de DDL definen la base de datos mediante la creacin
de bases de datos, tablas y tipos de datos definidos por el usuario. Las
instrucciones de DDL se utilizan tambin para administrar los objetos
de la base de datos. Algunas instrucciones de DDL son:

CREATE nombreObjeto
ALTER nombreObjeto
DROP nombreObjeto

Deben tener los permisos adecuados


De forma predeterminada, slo los miembros de la funcin sysadmin,
dbcreator, db_owner o db_ddladmin pueden ejecutar instrucciones de DDL.

63
Microcomputacin II

Instrucciones del Lenguaje de definicin de datos (DDL)

EJEMPLO:
La secuencia de comandos siguiente crea una tabla llamada customer en la
base de datos Northwind. Incluye las columnas cust_id, company,
contact y phone.

USE northwind
CREATE TABLE customer
(cust_id int, company varchar(40),contact varchar(30), phone char(12) )
GO

64
Microcomputacin II

Instrucciones del Lenguaje de control de datos (DCL)


Establecer o cambiar los permisos
Las instrucciones de DCL se utilizan para cambiar los permisos
asociados con
un usuario o funcin de la base de datos. En la tabla siguiente se
describen las instrucciones de DCL.
GRANT
Crea una entrada en el sistema de seguridad que permite a un
usuario trabajar con datos o ejecutar ciertas instrucciones
de Transact-SQL.

65
DENY
Crea una entrada en el sistema de seguridad que deniega un permiso de una
cuenta de seguridad e impide que el usuario, grupo o funcin herede el
permiso a travs de su pertenencia a grupos o funciones

REVOKE
Quita un permiso concedido o denegado previamente.

Deben tener los permisos adecuados


De forma predeterminada, slo los miembros de la funcin sysadmin,
dbcreator, db_owner o db_securityadmin pueden ejecutar instrucciones
DCL.
Microcomputacin II

Instrucciones del Lenguaje de control de datos (DCL)

EJEMPLO:
En este ejemplo se concede a la funcin public el permiso para consultar la
tabla products.

USE northwind
GRANT SELECT ON products TO public
GO

67
Microcomputacin II
Instrucciones del Lenguaje de tratamiento datos (DML)

Las instrucciones DML se utilizan para cambiar datos o recuperar


informacin
Las instrucciones de DML funcionan con los datos de la base de datos.
Mediante estas instrucciones puede cambiarlos o recuperar informacin.

Las instrucciones de DML incluyen:

SELECT

INSERT

UPDATE

DELETE

Deben tener los permisos adecuados


De forma predeterminada, slo los miembros de la funcin sysadmin, dbcreator,
db_owner o db_datawriter pueden ejecutar instrucciones DML.
68
Microcomputacin II

Instrucciones del Lenguaje de tratamiento datos (DML )

EJEMPLO:
En este ejemplo se recupera el identificador de categora,
nombre de producto, identificador de producto y
precio por unidad de los productos de la base de
datos Northwind.

USE northwind
SELECT categoryid, productname, productid, unitprice
FROM products
GO

69
Microcomputacin II

Elementos de la sintaxis de Transact-SQL


Las instrucciones de DML se crean a partir de varios elementos de la sintaxis de
Transact-SQL. Entre estos elementos se encuentran los siguientes:

Directivas de proceso por lotes


Comentarios
Identificadores
Tipos de datos
Variables
Funciones del sistema
Operadores
Expresiones
Elementos del lenguaje de control de flujo
Palabras clave reservadas

70
PREGUNTAS DE
AUTOEVALUACIN

1. Que es SQL.
2. Cuales son los beneficios de tener una BD.
3. Que es DDL

Las preguntas sern debatidas al inicio de la prxima tutora para secuencializar


la tematizacin.
Por su Atencin

Potrebbero piacerti anche