Tercera Forma Normal (3NF)

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Tercera Forma Normal (3NF)"

Transcripción

1 Tercera Forma Normal (3NF) Un esquema de relación R está en 3NF si está en 2NF y no hay dependencias transitivas de la clave por parte de atributos (no primos) X -> Y es una dependencia transitiva de X si existe un subconjunto de atributos Z tales que X -> Z y Z ->Y Ejemplo: NOMBREE RUT FECHAN DIRECCION NUMEROD NOMBRED RUTGTE RUT -> NOMBREE, FECHAN, DIRECCION, NUMEROD NUMEROD -> NOMBRED, RUTGTE No existen atributos que dependen parcialmente de la clave => 2NF pero existen dependencias transitivas de la clave (cuales) => no es 3NF Puede llevarse a 3NF de la siguiente forma: NOMBREE RUT FECHAN DIRECCION NUMERO NUMEROD NOMBRED RUTGTE Prof. Jaime Navón BD

2 Claves, claves... 3NF - Todo atributo (no clave) depende de la clave, toda la clave, y nada más que la clave Un esquema de relación R está en 3FN si para todo X->A se cumple: a) X es una superclave de R o bien b) A es un atributo primo de R Prof. Jaime Navón BD

3 Forma Normal de Boyce-Codd Un esquema de relación R está en BCNF si para todo X->A en R, X es una superclave de R BCNF es un poco más estricta que 3NF se quita la posibilidad de tener una dependencia de algo que no es superclave en el caso que se trate de un atributo primo se considera mejor que 3NF pero ambos son aceptables, en cambio 1NF y 2NF salvo situaciones muy puntuales no se consideran buenos diseño Ejemplo: LOTES(ID_PROPIEDAD, NOMBRE_MUNIC, NUM_LOTE, AREA) ID_PROPIEDAD -> {NOMBRE_MUNIC, NUM_LOTE, AREA} {NOMBRE_MUNIC, NUM_LOTE}->{AREA, ID_PROPIEDAD} AREA -> NOMBRE_MUNIC Esquema es 3NF porque NOMBRE_MUNIC es un atributo primo. Última dependencia viola BCNF porque AREA no es superclave Prof. Jaime Navón BD

4 Obtención de 3NF Dadas las Dependencias Funcionales del diagrama siguiente: Observar las fuentes de las dependencias: DEPTO, EMP, PROJ, OFFICE, PHONE, EMP_DATE Incorporamos sus claves y sus dependencias directas: DEPTO(Dept#, Dbudget, Mgr#) EMP(Emp#, Proj#, Phone#) PROJ(Proj#, Dept#, Pbudget) OFFICE(Off#, Dept#, Area) PHONE(Phone#, Off#) EMP_DATE(Emp#, Date, JobTitle, Salary) Prof. Jaime Navón BD

5 Cuarta Forma Normal (4NF) La 4NF tiene que ver con dependencias multivaluadas... el valor de un atributo determina un conjunto de valores para un segundo atributo. Ej: Estudiante(Num, Curso, Deporte) Num no determina ni Especialidad ni Deporte Num multidetermina Especialidad (->>) Num multidetermina Deporte Num Curso Deporte Num 100 Curso Música Deporte Natación 100 Música Natación 100 Contabilidad Natación Contabilidad Música Natación Tenis Música Contabilidad Tenis Tenis Contabilidad Matemáticas Tenis Atletismo 150 Matemáticas Atletismo Esquema es BCNF pero hay algunas anomalías... Prof. Jaime Navón BD

6 Anomalías Num Num Curso Curso Deporte Deporte Música Música Natación Natación Contabilidad Contabilidad Natación Natación Música Música Tenis Tenis Contabilidad Contabilidad Tenis Tenis Matemáticas Matemáticas Atletismo Atletismo estudiante con n cursos y m deportes requiere n x m tuplas si estudiante 100 toma un nuevo curso hay que agregar 2 tuplas Prof. Jaime Navón BD

7 Formalización En un esquema R con al menos 3 atributos existe una dependencia de valores múltiples cuando uno de ellos multidetermina a cada uno de los otros dos R(A,B,C), A ->->B, A->->C (B y C son independientes) Un esquema está en 4NF si está en BCNF y además no hay dependencias de valores múltiples Solución para el ejemplo sería dividir el esquema original en: Cursos(Num, Curso) Deportes(Num, Deporte) Prof. Jaime Navón BD

8 Vuelta a Dependencias Funcionales Problema: Dado un set de atributos como saber si representa una clave Sabemos que todos los atributos dependen funcionalmente de la clave, entonces... Bastaría ver si se cumple que todos los atributos dependen funcionalmente del set de atributos dado, pero... Generalmente no se tienen todas las dependencias en forma explícita Prof. Jaime Navón BD

9 Ejemplo Se tiene una relación R(A, B, C, D, E) con las siguientes dependencias funcionales: AB -> C; CD -> E; C -> A; y E -> D Es BCD una clave? BCD -> B (1), BCD ->C (2), BCD -> D (3), BCD -> CD (4) Combinando (4) con CD->E se obtiene BCD ->E (5) Combinando (2) con C->A se obtiene BCD -> A (5) Luego, BCD es al menos una superclave... Habría que mostrar ahora que ni BC ni CD ni BD son superclaves Prof. Jaime Navón BD

10 Reglas de Inferencia las reglas 1,2,3 (reglas de inferencia de Armstrog) son correctas y completas (Armstrong, 1974) empleo repetido de ellos permite calcular F+ (clausura de F) para cualquier conjunto de dependencias funcionales F dado se puede demostrar 4, 5 y 6 usando 1, 2 y 3 1,2 y 3 salen de definición de DF Prof. Jaime Navón BD

11 Clausura de un Conjunto de Dependencias Dado un conjunto de atributos X (que aparecen en el lado izquierdo de las dependencias funcionales F), obtener X+,el conjunto de atributos determinados funcionalmente por X (Clausura de X bajo F) X+ = X Repeat old X+ = X+ For every Y->Z in F do if Y X+ then X+ = X+ Z Until (old X+ == X+) Prof. Jaime Navón BD

12 Ejemplo de Cálculo F = {RUT->NombreE, NumeroP->NombreP LugarP, RUT NumeroP -> Horas } {RUT} + = RUT {RUT} + = RUT NombreE {RUT} + = RUT NombreE {NumeroP} + = NumeroP {NumeroP} + = NumeroP NombreP LugarP {NumeroP} + = NumeroP NombreP LugarP {RUT NumeroP} + = RUT NumeroP {RUT NumeroP} + = RUT NumeroP NombreE {RUT NumeroP} + = RUT NumeroP NombreE NombreP LugarP {RUT NumeroP} + = RUT NumeroP NombreE NombreP LugarP Horas {RUT NumeroP} + = RUT NumeroP NombreE NombreP LugarP Horas Prof. Jaime Navón BD

13 Equivalencia de DFs Dados dos conjuntos de DF E y F, se dice que E está cubierto por F (F cubre a E) si toda DF en E está también en F+ Dos conjuntos de DF E y F son equivalentes si E+ = F+ E y F equivalentes sii E cubre a F y F cubre a E Un conjunto de DF F es mínimo si Toda dependencia en F tiene un sólo atributo en el lado derecho Si se quita cualquier dependencia de F el conjunto resultante no es equivalente a F No es posible reemplazar ninguna dependencia X -> A por una dependencia Y -> A con Y X y seguir teniendo un conjunto de dependencias equivalentes a F Un conjunto de DF mínimo equivalente a F se denomina cobertura mínima de F (puede habr más de una) Prof. Jaime Navón BD

14 Algebra Relacional Conjunto de operaciones que permite manejar relaciones completas Resultado de operar sobre una relación o sobre un par de relaciones es una relación Lo anterior permite construir expresiones complejas con operadores combinados Operaciones de Conjuntos Unión, Intersección, Diferencia, Producto Cartesiano Operaciones Relacionales Selección, Proyección, Reunión y División Prof. Jaime Navón BD

15 Selección Permite seleccionar un subconjunto de tuplas que satisface una condición dada del total de tuplas de la tabla σ <condición> (<relación>) Ejemplos: σ DNO=4 (EMPLOYEE) σ SALARY > (EMPLOYEE) σ DNO=4 (σ SALARY > (EMPLOYEE)) σ SALARY > (σ DNO=4 (EMPLOYEE)) σ SALARY > and DNO=4 (EMPLOYEE) Prof. Jaime Navón BD

16 Proyección Permite seleccionar sólo algunas de las columnas de la tabla original Normalmente la eliminación de columnas produce tuplas duplicadas por lo cual la relación resultante puede tener también menos tupla π <lista de atributos> (<relación>) Ejemplo: π LNAME, FNAME, SALARY (EMPLOYEE) Prof. Jaime Navón BD

17 Operadores de Conjuntos UNION R S contiene todas las tuplas que están en R o en S (se eliminan los duplicados) INTERSECCION R S contiene todas las tuplas que están tanto en R como en S DIFERENCIA R - S contiene las tuplas que están en R pero no en S PRODUCTO CARTESIANO R(A1,..., An) x S(B1,..., Bm) = Q(A1,..., An, B1,..., Bm) (una tupla por cada combinación de tuplas de R y S) Unión, Intersección y Diferencia son operadores binarios relaciones deben ser compatibles (mismo número de atributos y dominios comunes) Operadores de unión en intersección son conmutativos y asociativos Prof. Jaime Navón BD

18 Reunión (Join) union de tuplas relacionadas de dos tablas R y S Q = R S <condición> Produce, igual que el producto cartesiano, una relación Q con n+m atributos Q tiene una tupla por cada combinación de tuplas de R y S que satisfaga la condición La condición en general es una conjunción de expresiones Ai Θ Bj en que Θ є {=, <, >, <=, >=,!=} La condición mas común lejos es un simple operador de igualdad. En este caso se habla de un equijoin Cuando la igualdad es entre dos atributos con el mismo nombre se hace desaparecer uno de ellos de la relación resultante y se habla de un Join Natural Prof. Jaime Navón BD

19 Ejemplo R S Nombre Edad Sueldo Nombre Depto Perez Fuentes Perez Lopez Ventas Finanzas Lopez FuentesProducción R S R.Nombre=S.Nombre R.Nombre Edad Sueldo S.Nombre Depto Perez Perez Ventas Fuentes Fuentes Producción Lopez Lopez Finanzas R S Nombre Edad Sueldo Depto Perez Ventas Fuentes Producción Lopez Finanzas Prof. Jaime Navón BD

20 Ejemplos Las siguientes dos relaciones son usadas para representar órdenes de compra: INCLUDES(#O, INAME, QUANTITY) ORDERS(#O, DATE, CUSTOMER) 1. Nombre de los clientes que han ordenado clavos π CUSTOMER (σ NAME = clavos (INCLUDES ORDERS)) 2. Números de todas las órdenes que contengan clavos π #O (σ INAME = clavos (INCLUDES)) 3. Clientes que han colocado órdenes en los últimos tres meses π CUSTOMER (σ DATE > (ORDERS)) Prof. Jaime Navón BD

21 Ejemplo: BD de bebedores Una base de datos con tres tablas mantiene información sobre bebedores, los bares que frecuentan, y las cervezas que gustan tomar FRECUENTA(BEBEDOR, BAR) (Luis, Kopete) Luis frecuenta el bar Kopete SIRVE(BAR, CERVEZA) (Kopete, Royal) En Kopete se ofrece la cerveza Royal GUSTA(BEBEDOR, CERVEZA) (Luis, Royal) A Luis le gusta la Royal Prof. Jaime Navón BD

22 Consultas Quienes frecuentan el Bar X FRECUENTA(BEBEDOR, BAR) SIRVE(BAR, CERVEZA) GUSTA(BEBEDOR, CERVEZA) π BEBEDOR (σ BAR = X (FRECUENTA)) En que bares se sirve la cerveza Y π BAR (σ CERVEZA = Y (SIRVE)) Cervezas a las cuales bebedor Z tiene acceso π CERVEZA (σ BEBEDOR = Z (FRECUENTA SIRVE)) Cuáles bares ofrecen alguna cerveza que le guste a Z π BAR (σ BEBEDOR = Z (SIRVE GUSTA)) Qué bebedores frecuentan a lo menos un bar donde se sirve alguna cerveza que les agrade π BEBEDOR (GUSTA SIRVE FRECUENTA) Prof. Jaime Navón BD

23 Structured Query Language SQL, originalmente SEQUEL (Structured English Query Language) desarrollado e implementado por IBM Research como interfaz del DBMS System R Esfuerzo de estandarización (ANSI, ISO) produjo el primer standard en 1986 que se conoce como SQL1 Versión revisada aparece en 1992 que se conoce como SQL2 o SQL-92 SQL:1999 Introduce conformancia a nivel Core (mínimo para poder decir que producto adhiere) SQL:2003 muy reciente (core coincide con anterior) introduce aspectos de XML Prof. Jaime Navón BD

24 Más que Consultas Definición de Datos Create (Schema, Table, Domain) Alter (Table) Drop (Schema, Table) Consultas Select From Where Actualización Insert Delete Update Prof. Jaime Navón BD

25 Ejemplo BD customer(customer_id, title, fname, lname, addressline, town, zipcode, phone) orderinfo(orderinfo_id, customer_id, date_placed, date_shipped, shipping) orderline(orderinfo_id, item_id, quantity) item(item_id, descripction, cost_price, sell_price) stock(item_id, quantity) barcode(barcode_ean, item_id) Prof. Jaime Navón BD

26 Consultas Sencillas Clientes de la ciudad de Bingham select fname, lname from customer where town = 'Bingham'; Clientes de la ciudad de Bingham de apellido Stones select fname, lname from customer where town = 'Bingham' and lname = 'Stones'; Prof. Jaime Navón BD

27 Consultas con más de una tabla Nombres, Apellidos y Ciudad de todos los clientes que han comprado algo select fname, lname, town from customer, orderinfo where customer.customer_id = orderinfo.customer_id; Números y fecha de compra de las ordenes que incluyen 'Wood Puzzle' select orderinfo.orderinfo_id, date_placed from orderinfo, item, orderline where orderinfo.orderinfo_id = orderline.orderinfo_id and orderline.item_id = item.item_id and description = 'Wood Puzzle'; Prof. Jaime Navón BD

28 Uso de Alias Ordenes y fechas de aquellas que se realizaron después del 01/07/2004 select o.orderinfo_id, o.date_placed from orderinfo as o where o.date_placed > ' '; Números y fecha de compra de las ordenes que incluyen 'Wood Puzzle' select o.orderinfo_id, o.date_placed from orderinfo as o, item as i, orderline as l where o.orderinfo_id = l.orderinfo_id and l.item_id = i.item_id and description = 'Wood Puzzle'; Prof. Jaime Navón BD

29 Cambio de Encabezados en Output select fname as nombre, lname as apellido from customer where lname = 'Stones'; nombre apellido Jenny Stones Andrew Stones Richard Stones Ann Stones (4 rows) select lname ', ' fname as nombre_cliente from customer where lname = 'Stones'; nombre_cliente Stones, Jenny Stones, Andrew Stones, Richard Stones, Ann (4 rows) Prof. Jaime Navón BD

30 Pattern Matching Nombre y Apellido de los clientes que viven en una ciudad que termina en e select fname, lname, town from customer where town like '%e'; Nombre y Apellido de los clientes que viven en una ciudad cuya segunda letras es i y termina en n select fname, lname, town from customer where town like '_i%n'; Prof. Jaime Navón BD

31 Operadores de Agregación Cuantos productos tienen stock bajo el crítico (5) select count(item_id) from stock where quantity < 5; Cual es mayor stock mantenido para algún producto select max(quantity) from stock; Cual es el stock promedio mantenido para algún producto select avg(quantity) from stock; Cuantas items en total considerando todas las ordenes se han vendido select sum(quantity) from orderline; Prof. Jaime Navón BD

32 Uso de Distinct SQL no elimina en forma automática duplicados Distinct permite hacerlo en forma explícita Puede ser importante con operadores de agregación select item_id from orderline; select distinct item_id from orderline; item_id (8 rows) item_id (12 rows) Prof. Jaime Navón BD

33 Group By Es común querer aplicar operadores de agregación pero considerando grupos de tuplas la cantidad total de items vendidos de cada artículo el promedio de items en cada orden select item_id, quantity from orderline; select item_id, sum(quantity) from orderline group by item_id item_id quantity item_id sum (12 rows) Prof. Jaime Navón BD

34 Having A veces queremos incluir solo algunos de los grupos involucrados en un group by total de unidades vendidas de cada item pero solo si esta cifra es mayor que 1 select item_id, sum(quantity) from orderline group by item_id having sum(quantity) > 1; item_id sum (4 rows) Prof. Jaime Navón BD

35 Order By Permite ordernar las tuplas en el output por defecto es ascendente (ASC) pero se puede especificar descendente (DESC) select item_id, sum(quantity) from orderline group by item_id having sum(quantity) > 1 order by sum(quantity); item_id sum (4 rows) select item_id, sum(quantity) from orderline group by item_id having sum(quantity) > 1 order by sum(quantity) desc; item_id sum (4 rows) Prof. Jaime Navón BD

36 Todo Junto Cantidad de unidades vendidas de cada item sin considerar aquellos con código 1 y siempre que la cantidad sea mayor que 1 ordenado de mayor a menor select item_id, sum(quantity) from orderline where item_id <> 1 group by item_id having sum(quantity) > 1 order by sum(quantity) desc; item_id sum (3 rows) Prof. Jaime Navón BD

37 Select Anidados (1) Encontrar los productos que tienen un precio de costo mayor que el promedio test=# select * from item; item_id description cost_price sell_price Wood Puzzle Rubik Cube Linux CD Tissues Picture Frame Fan Small Fan Large Toothbrush Roman Coin Carrier Bag Speakers (11 rows) test=# select * from item test-# where cost_price > (select avg(cost_price) from item); item_id description cost_price sell_price Wood Puzzle Rubik Cube Picture Frame Fan Small Fan Large Speakers (6 rows) Prof. Jaime Navón BD

38 Select Anidados (2) el select interno puede devolver un grupo de tuplas encontrar los productos en stock con precio de costo mayor que 10 SELECT * FROM stock WHERE item_id IN (SELECT item_id FROM item WHERE cost_price > 10); item_id quantity Prof. Jaime Navón BD

39 Select Anidados (3) Consultas correlacionadas - no esposible evaluar primero el select interno y luego el externo fechas en que se colocaron ordenes para clientes de Bingham SELECT oi.date_placed FROM orderinfo oi WHERE oi.customer_id = (SELECT c.customer_id from customer c WHERE c.customer_id = oi.customer_id and town = 'Bingham'); date_placed (2 rows) Prof. Jaime Navón BD

40 Cómo funciona SELECT columna from table1 T1 WHERE T1.columnB = (SELECT T2.columnB FROM table2 T2 WHERE T2.columnC = T1.columnC) Prof. Jaime Navón BD

41 EXISTS clientes que han colocado ordenes SELECT 1 FROM customer WHERE town = 'Bingham';?column? (3 rows) SELECT fname, lname FROM customer c WHERE EXISTS (SELECT 1 FROM orderinfo oi WHERE oi.customer_id = c.customer_id); fname lname Alex Matthew Ann Stones Laura Hardy David Hudson (4 rows) Prof. Jaime Navón BD

42 Creación de las Tablas CREATE TABLE nombre_tabla ( nombre_col tipo_col [restricción_col], nombre_col tipo_col [restricción_col], CONSTRAINT restricción_tabla, CONSTRAINT restricción_tabla, ) Restricciones de Columnas NOT NULL UNIQUE PRIMARY KEY DEFAULT valor CHECK condición REFERENCES Prof. Jaime Navón BD

43 Ejemplo create table testcolcons ( colnotnull int not null, colunique int unique, colprikey int primary key, coldefault int default 42, colcheck int check(colcheck < 42) ); Column Type Modifiers colnotnull integer not null colunique integer colprikey integer not null coldefault integer default 42 colcheck integer Indexes: "testcolcons_pkey" PRIMARY KEY, btree (colprikey) "testcolcons_colunique_key" UNIQUE, btree (colunique) Check constraints: "testcolcons_colcheck_check" CHECK (colcheck < 42) Prof. Jaime Navón BD

44 Restricciones de Tabla Las restricciones que aplican a nivel de tabla son UNIQUE (lista_de_cols) PRIMARY KEY(lista_de_cols) CHECK(condición) REFERENCES Ejemplo de restricciones a nivel de tabla create table ttconst ( mykey1 int, mykey2 int, mystring varchar(15), constraint cs1 check (mystring <> ''), constraint cs2 primary key(mykey1, mykey2) ); Prof. Jaime Navón BD

45 Claves Foráneas Restricción REFERENCES (en realidad restringe el dominio destino) Aunque puede incluirse como restricción a nivel de columna es recomendable incluirlas a nivel de tabla después de la resticción de clave primaria CREATE TABLE orderinfo( orderinfo_id serial, customer_id integer NOT NULL REFERENCES customer(customer_id), date_placed date NOT NULL, date_shipped date, shipping numeric(7,2), CONSTRAINT orderinfo_pk PRIMARY KEY(orderinfo_id) ); CREATE TABLE orderinfo ( orderinfo_id serial, customer_id integer NOT NULL, date_placed date NOT NULL, date_shipped date, shipping numeric(7,2), CONSTRAINT orderinfo_pk PRIMARY KEY(orderinfo_id), CONSTRAINT orderinfo_customer_id_fk FOREIGN KEY(customer_id) REFERENCES customer(customer_id) ); Prof. Jaime Navón BD

46 Mantenimiento de Integridad Referencial la restricción de clave foránea exige que cada valor de customer_id en orderinfo esté presente en alguna tupla de customers Que hacer si se intenta eliminar un cliente de customers para el cual hay tuplas en orderinfo? impedirlo (error) - este es el default CONSTRAINT orderinfo_customer_id_fk FOREIGN KEY(customer_id) REFERENCES customer(customer_id) poner nulls en la info de cliente en las ordenes CONSTRAINT orderinfo_customer_id_fk FOREIGN KEY(customer_id) REFERENCES customer(customer_id) ON DELETE SET NULL eliminar automáticamente las tuplas que hacen referencia a él CONSTRAINT orderinfo_customer_id_fk FOREIGN KEY(customer_id) REFERENCES customer(customer_id) ON DELETE CASCADE Lo mismo puede especificarse para operaciones de UPDATE o ambas CONSTRAINT orderinfo_customer_id_fk FOREIGN KEY(customer_id) REFERENCES customer(customer_id) ON DELETE CASCADE ON UPDATE SET NULL Prof. Jaime Navón BD

47 Modificaciones al Esquema Se hacen mediante ALTER ALTER TABLE table-name ADD COLUMN column-name column-type ALTER TABLE table-name DROP COLUMN column-name ALTER TABLE table-name RENAME COLUMN old-column-name TO new-column-name ALTER TABLE table-name column-name TYPE new-type [ USING expression ] ALTER TABLE table-name ALTER COLUMN [SET DEFAULT value DROP DEFAULT] ALTER TABLE table-name ALTER COLUMN [SET NOT NULL DROP NOT NULL] ALTER TABLE table-name ADD CHECK check-expression ALTER TABLE table-name ADD CONSTRAINT name constraint-definition ALTER TABLE old-table-name RENAME TO new-table-name Prof. Jaime Navón BD

48 Ejemplos test=> \d ttconst Table "public.ttconst" Column Type Modifiers mykey1 integer not null mykey2 integer not null mystring character varying(15) Indexes: "cs2" PRIMARY KEY, btree (mykey1, mykey2) Check constraints: "cs1" CHECK (mystring::text <> ''::text) test=> ALTER TABLE ttconst ADD COLUMN mydate DATE; test=> ALTER TABLE ttconst RENAME COLUMN mydate TO birthdate; test=> \d ttconst Table "public.ttconst" Column Type Modifiers mykey1 integer not null mykey2 integer not null mystring character varying(15) birthdate date Indexes: "cs2" PRIMARY KEY, btree (mykey1, mykey2) Check constraints: "cs1" CHECK (mystring::text <> ''::text) test=> ALTER TABLE ttconst DROP CONSTRAINT cs1; test=> ALTER TABLE ttconst ADD CONSTRAINT cs3 UNIQUE(birthdate); test=> ALTER TABLE ttconst ALTER COLUMN mystring SET DEFAULT 'Hello'; ALTER TABLE Prof. Jaime Navón BD

49 Creación Implícita de una Tabla Es posible enviar el resultado de una consulta a una tabla que tiene la misma estructura del resultado mediante SELECT INTO SELECT select_targets INTO [ TABLE ] new_table FROM old_table; test=# select * into cust2 test-# from customer test-# where town ='Bingham'; SELECT test=# select * from cust2; customer_id title fname lname addressline town zipcode phone Mr Richard Stones 34 Holly Way Bingham BG4 2WE Mrs Ann Stones 34 Holly Way Bingham BG4 2WE Mr Dave Jones 54 Vale Rise Bingham BG3 8GD (3 rows) Prof. Jaime Navón BD

50 Carga y Ejecución desde un Archivo create table alfa ( x1 varchar(10) primary key, x2 varchar(20)); insert into alfa values ('aa', 'hola'); insert into alfa values ('bb', 'hola'); insert into alfa values ('cc', 'hola'); insert into alfa values ('dd', 'hola'); insert into alfa values ('ee', 'hola'); insert into alfa values ('ff', 'hola'); insert into alfa values ('gg', 'hola'); insert into alfa values ('hh', 'hola'); insert into alfa values ('ii', 'hola'); select * from alfa; ej1.sql test=# \i ej1.sql psql:ej1.sql:3: NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "alfa_pkey" for table "alfa" CREATE TABLE INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT x1 x aa hola bb hola cc hola dd hola ee hola ff hola gg hola hh hola ii hola (9 rows) Prof. Jaime Navón BD

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006 Bases de Datos SQL 1 SQL Jorge Pérez R. Universidad de Talca, II Semestre 2006 Bases de Datos SQL 2 Structured Query Language Lenguaje de consulta para bases de datos comerciales. Originalmente llamado

Más detalles

El Lenguaje SQL TEMA V. Grupo de Bas ses de Datos Avanzadas Univ. Carlo os III de Madrid. V.1 SQL como Lenguaje de Definición de Datos

El Lenguaje SQL TEMA V. Grupo de Bas ses de Datos Avanzadas Univ. Carlo os III de Madrid. V.1 SQL como Lenguaje de Definición de Datos Grupo de Bases de Datos Avanzadas Univ. Carlos III de Madrid Índice V.1 Introducción V.1 SQL como Lenguaje de V.1.1 Definición del esquema V.1.2 Evolución del esquema V.2 SQL como Lenguaje de Manipulación

Más detalles

Bases de Datos: Structured Query Language (SQL)

Bases de Datos: Structured Query Language (SQL) Structured Query Language (SQL): Introducción Bases de Datos: Structured Query Language (SQL) Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile

Más detalles

Ambos conjuntos son completamente distintos: propósito, acciones,... L M D. datos

Ambos conjuntos son completamente distintos: propósito, acciones,... L M D. datos 4. Lenguaje SQL Instrucciones del Lenguaje SQL: divididas en dos tipos para la definición de los objetos: Lenguaje de Definición de Datos para el manejo de la información: Lenguaje de Manipulación de Datos

Más detalles

Formas Normales. Normalización. Introducción

Formas Normales. Normalización. Introducción Formas Normales Normalización - Introducción Primera Forma Normal Segunda Forma Normal Tercera Forma Normal Forma Normal de Boyce-Codd Dependencias Multivaluadas Cuarta Forma Normal In.Co. - Facultad de

Más detalles

Structured Query Language (SQL) Fundamentos de Bases de Datos InCo - 2011

Structured Query Language (SQL) Fundamentos de Bases de Datos InCo - 2011 Structured Query Language () Fundamentos de Bases de Datos InCo - Un poco de historia Lenguajes de consulta relacionales: SEQUEL (IBM-1970) QUEL (Ingres-1970) QBE (IBM-1970) es el lenguaje comercial más

Más detalles

Bases de Datos 2. Teórico

Bases de Datos 2. Teórico Bases de Datos 2 Teórico Structured Query Language (SQL) Características de SQL Standard Opera sobre conjuntos de tuplas: incluso para las operaciones de inserción, borrado y actualización. No elimina

Más detalles

SQL DML Select. Ges$ón y Modelación de Datos. María Constanza Pabón

SQL DML Select. Ges$ón y Modelación de Datos. María Constanza Pabón SQL DML Select Ges$ón y Modelación de Datos María Constanza Pabón mcpabon@javerianacali.edu.co SQL - DML Sentencias: INSERT UPDATE DELETE SELECT SQL - DML Query (consulta): proceso de recuperar datos de

Más detalles

Temario. Índices simples Árboles B Hashing

Temario. Índices simples Árboles B Hashing Temario Introducción y fundamentos Introducción a SQL Modelo Entidad / Relación Modelo relacional Diseño relacional: formas normales Consultas Cálculo relacional Álgebra relacional Implementación de bases

Más detalles

SQL. (...la guía básica de supervivencia de dmi) Universidad de los Andes Demián Gutierrez Enero 2009 1

SQL. (...la guía básica de supervivencia de dmi) Universidad de los Andes Demián Gutierrez Enero 2009 1 SQL (...la guía básica de supervivencia de dmi) Universidad de los Andes Demián Gutierrez Enero 2009 1 Crear una Tabla (Esquema de Relación) (1) (Cascadas) postgres=# CREATE TABLE departamento ( codigo

Más detalles

ÍNDICE. Introducción... Capítulo 1. Características, instalación, inicio y entorno de trabajo... 1

ÍNDICE. Introducción... Capítulo 1. Características, instalación, inicio y entorno de trabajo... 1 ÍNDICE Introducción... XI Capítulo 1. Características, instalación, inicio y entorno de trabajo... 1 Características y novedades de Access 2010... 1 Comienzo rápido del trabajo y seguimiento de la información...

Más detalles

Introducción a las bases de datos.

Introducción a las bases de datos. Introducción a las BBDD 1 Centro de Referencia Linux UAM-IBM Introducción a las bases de datos. Carmen B. Navarrete Navarrete carmen_navarrete@telefonica.net Introducción a las BBDD 2 Qué vamos a ver?

Más detalles

Acceso a bases de datos MySQL con PHP

Acceso a bases de datos MySQL con PHP GESTIÓN Y ADMINISTRACIÓN WEB Acceso a bases de datos MySQL con PHP Ing. CIP Fabián Silva Alvarado fsilvasys@hotmail.com DEFINICIÓN DE BASE DE DATOS Base de Datos es un conjunto de datos relacionados entre

Más detalles

Unidad. Lenguaje SQL. (Structured Query Language)

Unidad. Lenguaje SQL. (Structured Query Language) Unidad Lenguaje SQL (Structured Query Language) 1 SQL Definición DDL Consulta y Actualización DML Create Alter Drop Select Insert Update Delete 2 SQL DDL CREATE TABLE nombre_tabla (nombre_columna tipo_dato/dominio

Más detalles

SQL (Structured Query Language)

SQL (Structured Query Language) SQL (Structured Query Language) El lenguaje de consulta estructurado o SQL (por sus siglas en inglés Structured Query Language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite

Más detalles

Insertar Datos en Tablas

Insertar Datos en Tablas Insertar Datos en Tablas La instrucción básica para insertar valores a los atributos (columnas) de una tabla es la instrucción INSERT INTO Insertar una sola tupla Para insertar una tupla en la tabla, se

Más detalles

A.1. Definiciones de datos en SQL

A.1. Definiciones de datos en SQL A.1. Definiciones de datos en SQL Las Sentencias del lenguaje de definición de datos (DDL) que posee SQL operan en base a tablas. Las Principales sentencias DDL son las siguientes: CREATE TABLE DROP TABLE

Más detalles

Tema 33. El lenguaje SQL

Tema 33. El lenguaje SQL Tema 33. El lenguaje SQL Introducción... 1 Modos de uso... 2 Ejecución de las sentencias SQL... 2 Instrucciones DDL Data Definition Language-... 3 Instrucciones DML Data Manipulation Language-... 4 Instrucciones

Más detalles

Carlos A. Olarte Ligaduras de Integridad y Restricciones sobre la BD

Carlos A. Olarte Ligaduras de Integridad y Restricciones sobre la BD Ligaduras de Integridad y Restricciones sobre la BD Outline 1 Introducción 2 Ligaduras de Dominio 3 Llaves Primarias 4 Llaves de Unicidad 5 Integridad Referencial Introducción y Motivación Por qué se deben

Más detalles

SQL. Orígenes y Evolución

SQL. Orígenes y Evolución SQL 1 SQL. Orígenes y Evolución 2 SQL: Estándar oficial 3 Funciones de SQL DDL Data Definition Language Creación n de estructuras de la base de datos Integridad de los datos DML Data Manipulation Language

Más detalles

m047a Curso Programando una Base de Datos SQL Server 2008, 36 h Creación B.D. y Constraints

m047a Curso Programando una Base de Datos SQL Server 2008, 36 h Creación B.D. y Constraints Crear Una Base De Datos (L12) A TRAVÉS DE LA CONSOLA DE ADMINISTRACIÓN A TRAVÉS DEL ASISTENTE DE BASES DE DATOS (DATABASE WIZARD) A TRAVÉS DE COMANDOS SQL (CREATE DATABASE, CREATE TABLE) Crear Un Grupo

Más detalles

1 2 3 ( /! 3 ) +, 1& 3 0))) % &! ( ) +,. / & 0)))

1 2 3 ( /! 3 ) +, 1& 3 0))) % &! ( ) +,. / & 0))) ! !! # ! 1 2 3 ( 1 2 3. /! 3 ) +, 1& 3 0))) % &! ( ) +,. / & 0))) 4 2 5! 4 /! 4 # 2 / # %! # ( # %! #!! # %! #! )! & ,,, #./ 0 + . 4 # 4. 0! 2! ) 3! 1 ,! 2 % % 7 0! 2 % &! ) 3! 56 %&! #! 55 ( ) 58 ( )

Más detalles

Lenguaje para descripción de datos

Lenguaje para descripción de datos Amparo López Gaona tación Fac. Ciencias, UNAM Mayo 2012 Definición de Datos El lenguaje para definición de datos permite especificar: Esquema de cada relación. El dominio de cada atributo. Restricciones

Más detalles

SQL (Structured Query Language)- DML

SQL (Structured Query Language)- DML SQL (Structured Query Language)- DML Data Manipulation Language: Data Definition Language: Control Commands: Authorization Commands: SELECT, UPDATE, INSERT, DELETE CREATE: TABLE, INDEX, VIEW DROP: TABLE,

Más detalles

Restricciones de Integridad

Restricciones de Integridad Restricciones de Integridad Amparo López Gaona México, D.F. Semestre 2000-I Restricciones de Integridad Las principales restricciones de integridad que pueden indicarse son: La clave primaria. Claves candidatas.

Más detalles

Computación Web (Curso 2015/2016)

Computación Web (Curso 2015/2016) Bases de Datos (I) Computación Web (Curso 2015/2016) Jesús Arias Fisteus // jaf@it.uc3m.es Bases de Datos (I) p. 1 Bases de datos relacionales Colección de datos almacenados en una o más tablas. Las tablas

Más detalles

Tema 1. Introducción a MySQL. José Muñoz Jimeno Octubre 2015

Tema 1. Introducción a MySQL. José Muñoz Jimeno Octubre 2015 Tema 1. Introducción a MySQL José Muñoz Jimeno Octubre 2015 Control de cambios Versión Fecha Comentarios 1.0 21/05/2015 Primera versión para el curso Introducción a la administración de MySQL en el COITCV

Más detalles

Procesamiento de base de datos: Fundamentos, Deseño e Implementación. Capítulo 8

Procesamiento de base de datos: Fundamentos, Deseño e Implementación. Capítulo 8 Procesamiento de base de datos: Fundamentos, Deseño e Implementación Capítulo 8 Rediseño de la base de datos 8-1 Objetivos Comprender la necesidad de un nuevo diseño de la base de datos. Usar subconsultas

Más detalles

Integridad Referencial. Restricciones (constraints)

Integridad Referencial. Restricciones (constraints) Integridad Referencial Restricciones (constraints) Integridad de Referencial Integridad referencial: asegura la integridad entre las llaves foráneas y primarias (relaciones padre/hijo). Existen cuatro

Más detalles

Modelo relacional. El modelo relacional

Modelo relacional. El modelo relacional Modelo relacional El modelo relacional Representa la BD como una colección de relaciones En términos informales, cada relación semeja una tabla Tupla Cada fila de la tabla Representa una colección de datos

Más detalles

Base de Datos Distribuidas Lic. Hugo D. Ramón Conceptos de Bases de Datos Agenda Algebra Relacional Cálculo Relacional Conceptos Fundamentales de Base de Datos SQL 0/09/007 Conceptos de Bases de Datos

Más detalles

TRANSACT-SQL, DISEÑO Y PROGRAMACIÓN DE BASES DE DATOS EN SQL SERVER 2008

TRANSACT-SQL, DISEÑO Y PROGRAMACIÓN DE BASES DE DATOS EN SQL SERVER 2008 TRANSACT-SQL, DISEÑO Y PROGRAMACIÓN DE BASES DE DATOS EN SQL SERVER 2008 ESTRUCTURA DEL SEMINARIO Modulo 1: Crear y administrar una base de datos SQL Server Métodos para crear una base de datos SQLServer.

Más detalles

ÍNDICE. Introducción... Capítulo 1. Novedades de Access 2013... 1

ÍNDICE. Introducción... Capítulo 1. Novedades de Access 2013... 1 Introducción... XIII Capítulo 1. Novedades de Access 2013... 1 Nuevas posibilidades de cifrado, compactación y reparación de archivos... 1 Trabajo en la nube... 2 Compartir la información... 3 Guardar

Más detalles

TEMA 4 LENGUAJES RELACIONALES EJERCICIOS PROPUESTOS

TEMA 4 LENGUAJES RELACIONALES EJERCICIOS PROPUESTOS TEMA 4 LENGUAJES RELACIONALES EJERCICIOS PROPUESTOS Clases de Ejercicios: En este tema las clases de ejercicios que proponemos son las siguientes: a) Repasar conceptos de los lenguajes relacionales. b)

Más detalles

LENGUAJE SQL. En Mysql se utiliza un subconjunto de SQL (update, insert into, delete, select, truncate,etc).

LENGUAJE SQL. En Mysql se utiliza un subconjunto de SQL (update, insert into, delete, select, truncate,etc). LENGUAJE SQL Un manejador de base de datos debe de contener lenguajes que permitan definir el modelos de los datos, este mismo es que permite crear la estructura de la base de datos. Lenguaje de Definicion

Más detalles

Access SQL: DDL y DML. Una empresa de Ingeniería precisa una base de datos para la gestión de sus proyectos.

Access SQL: DDL y DML. Una empresa de Ingeniería precisa una base de datos para la gestión de sus proyectos. SGBD y SQL Access SQL: DDL y DML Ejercicio Una empresa de Ingeniería precisa una base de datos para la gestión de sus proyectos. Necesita almacenar información acerca de sus empleados y los proyectos en

Más detalles

Tema 4. SQL. Juan Ignacio Rodríguez de León

Tema 4. SQL. Juan Ignacio Rodríguez de León Tema 4. SQL Juan Ignacio Rodríguez de León Resumen Este tema se centra exclusivamente en el estudio del lenguaje de consultas SQL (Structured Query Language). SQL usa una combinación de álgebra relacional

Más detalles

: COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería de Redes y Comunicaciones : Administración de Bases de Datos I : T-INF127

: COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería de Redes y Comunicaciones : Administración de Bases de Datos I : T-INF127 I. DATOS INFORMATIVOS Carrera Especialidad Curso Código Ciclo : Tercero Requisitos Duración Horas Semana : 06 horas Versión : v.0110 II. SUMILLA : COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería

Más detalles

EJEMPLOS PRÁCTICOS SQL

EJEMPLOS PRÁCTICOS SQL EJEMPLOS PRÁCTICOS SQL EJEMPLOS PRÁCTICOS SQL INTEGRIDAD REFERENCIAL DROP SCHEMA IF EXISTS Tablas1; CREATE SCHEMA Tablas1; USE Tablas1; create table Cliente( Dni VARCHAR(10), Nombre VARCHAR(10), Apellido

Más detalles

SINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ]

SINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ] SINTAXIS DE SQL-92 Introducción: Se presenta brevemente un resumen de la sintaxis de SQL según el estándar ISO 9075 (SQL- 92), dividido en tres partes: - Lenguaje de Definición de Daots (LDD), - Lenguaje

Más detalles

BASES DE DATO TO I VISTAS curso 2008

BASES DE DATO TO I VISTAS curso 2008 BASES DE DATOS I VISTAS curso 2008 Vistas: conceptos Una VISTA es una tabla virtual derivada de otras tablas (que pueden ser tablas base o también otras vistas). Sus tuplas no se almacenan sino que se

Más detalles

GBD Diseño físico de DDBB

GBD Diseño físico de DDBB GBD Diseño físico de DDBB Mª Carmen Gabarrón Manual SQL de Oracle 10g http://download.oracle.com/docs/cd/b19306_01/server.102/b14200/index.htm SQL SQL es el lenguaje de consulta universal para bases de

Más detalles

Introducción SQL. Ges2ón y Modelación de Datos María Constanza Pabón

Introducción SQL. Ges2ón y Modelación de Datos María Constanza Pabón Introducción SQL Ges2ón y Modelación de Datos María Constanza Pabón PostgreSQL Es un ORDBMS (object rela2onal database management system) Derivado de Postgres, que fue desarrollado en la Universidad de

Más detalles

Base de Datos. Docente: Ing. Francisco Rodríguez BASE DATOS. Resultados. Internet. Requerimientos

Base de Datos. Docente: Ing. Francisco Rodríguez BASE DATOS. Resultados. Internet. Requerimientos UNIVERSIDAD NACIONAL DE TRUJILLO ESCUELA DE ING. INDUSTRIAL Base de Datos Resultados Internet Requerimientos BASE DATOS Docente: Ing. Francisco Rodríguez Base de Datos Tema 6: El Lenguaje Estándar SQL

Más detalles

APÉNDICE SQL (Structures Query Language)

APÉNDICE SQL (Structures Query Language) SQL 1 / 7 APÉNDICE SQL (Structures Query Language) SQL se ha establecido como lenguaje de bases de datos relacionales estándar, y se pueden distinguir tres partes: DDL (Data Definition Language) permite

Más detalles

SQL. Fundamentos de Bases de Datos. Concepción de Sistemas de Información Instituto de Computación Facultad de Ingeniería Universidad de la República

SQL. Fundamentos de Bases de Datos. Concepción de Sistemas de Información Instituto de Computación Facultad de Ingeniería Universidad de la República SQL Fundamentos de Bases de Datos Concepción de Sistemas de Información Instituto de Computación Facultad de Ingeniería Universidad de la República SQL- FBD CSI - InCo - Fing - UDELAR 1 Introducción SQL

Más detalles

Modelo Relacional. Modelo Relacional. Temas: Referencia:

Modelo Relacional. Modelo Relacional. Temas: Referencia: Modelo Relacional Temas: Conceptos Generales. Restricciones de Integridad. Creación y Modificación de Relaciones. Cálculo Relacional. SQL. Algebra Relacional. In.Co. - Facultad de Ingeniería Curso : Fundamentos

Más detalles

Modelo Relacional. El modelo relacional...1 El modelo entidad relación (que vimos ayer) es un modelo conceptual que sirve

Modelo Relacional. El modelo relacional...1 El modelo entidad relación (que vimos ayer) es un modelo conceptual que sirve Juan Luis Mora Blanco. El modelo Relacional 1 Modelo Relacional El modelo relacional El modelo relacional...1 El modelo entidad relación (que vimos ayer) es un modelo conceptual que sirve Conceptos...1

Más detalles

Guía de ejercicios de SQL Prof. Mauricio E. Fernández N. Semestre Agosto-Diciembre de 2012

Guía de ejercicios de SQL Prof. Mauricio E. Fernández N. Semestre Agosto-Diciembre de 2012 Guía de ejercicios de SQL Prof. Mauricio E. Fernández N. Semestre Agosto-Diciembre de 2012 Problema Enunciado: Sean las siguientes tablas de una base de datos Empleado (ndiemp, nomemp, sexemp, fecnac,

Más detalles

1. Lenguaje de Definición de Datos. 2. Lenguaje de Manipulación de. Datos. M. C. Gustavo Alfonso Gutiérrez Carreón

1. Lenguaje de Definición de Datos. 2. Lenguaje de Manipulación de. Datos. M. C. Gustavo Alfonso Gutiérrez Carreón 1. Lenguaje de Definición de Datos 2. Lenguaje de Manipulación de Datos M. C. Gustavo Alfonso Gutiérrez Carreón Los 'sistemas de gestión de bases de datos (en inglés database management system, abreviado

Más detalles

Introducción al lenguaje SQL

Introducción al lenguaje SQL Introducción a SQL Introducción al lenguaje SQL Contenidos Introducción al lenguaje SQL Sentencia SELECT: lista SELECT, FROM, WHERE CREATE TABLE INSERT, DELETE y UPDATE Bibliografía Beaulieu, A.: Aprende

Más detalles

Desarrollo Web en Entorno Servidor

Desarrollo Web en Entorno Servidor Desarrollo Web en Entorno Servidor Tema 7. Apuntes sobre MySql y otros SGBD. 1. Conectar con la base de datos. 2. Sentencias de definición de datos (DDL): 3. Sentencias de control de trabajos (DCL). 4.

Más detalles

BASES DE DATOS TEMA 4. SQL. UN LENGUAJE DE CONSULTA COMERCIAL PARA BASES DE DATOS RELACIONALES Contenidos generales

BASES DE DATOS TEMA 4. SQL. UN LENGUAJE DE CONSULTA COMERCIAL PARA BASES DE DATOS RELACIONALES Contenidos generales BASES DE DATOS TEMA 4. SQL. UN LENGUAJE DE CONSULTA COMERCIAL PARA BASES DE DATOS RELACIONALES Contenidos generales * Definición de datos en SQL * Consulta de datos en SQL - Estructura básica de una sentencia

Más detalles

Unidad III. Bases de Datos

Unidad III. Bases de Datos Clase:11 1 Unidad III Bases de Datos 2 SQL. Comandos de DDL. Comandos de DML. Agenda 3 SQL Structured Query Language SQL Los comandos del SQL pueden dividirse en tres grupos: Comandos de definición de

Más detalles

RESUMEN DEL LENGUAJE SQL

RESUMEN DEL LENGUAJE SQL RESUMEN DEL LENGUAJE SQL AUTORÍA JOSEFA PÉREZ DOMINGUEZ TEMÁTICA INFORMATICA ETAPA CICLO FORMATIVO DE GRADO SUPERIOR Y MEDIO DE INFORMATICA Resumen Con esta publicación muestra un resumen de la sintaxis

Más detalles

2.5.- El lenguaje estándar SQL

2.5.- El lenguaje estándar SQL 25- El lenguaje estándar SQL El SQL es un lenguaje estándar de definición y manipulación (y consulta) de bases de datos relacionales El SQL estándar incluye: Características del Álgebra Relacional Características

Más detalles

Bases de Datos - 2006. SQL - Ejemplos

Bases de Datos - 2006. SQL - Ejemplos Bases de Datos - 2006 SQL - Ejemplos Consideramos la siguiente base de datos relacional: persona(dni,primer-nombre,apellido) biblioteca(nombre-biblioteca,calle,número) libro(título,isbn,editorial,edición)

Más detalles

2.4 Manipulación de datos

2.4 Manipulación de datos 2.4 Manipulación de datos 2.4.3. El lenguaje relacional SQL-92 Structured Query Language (lenguaje estructurado de consulta) Primer lenguaje de BD de alto nivel. Años 70. Diseñado e implementado en el

Más detalles

PROGRAMANDO BASES DE DATOS PostgreSQL INTRODUCCIÓN INTRODUCCIÓN A LAS BASES DE DATOS (L1)

PROGRAMANDO BASES DE DATOS PostgreSQL INTRODUCCIÓN INTRODUCCIÓN A LAS BASES DE DATOS (L1) A LAS BASES DE DATOS (L1) VENTAJAS TECNOLOGÍA BASE DE DATOS DISPONIBILIDAD Y VISIBILIDAD ALMACENAMIENTO CONSULTAS INFORMACIÓN RESPALDOS Y RESTAURACIÓN CONCEPTOS DE INTEGRIDAD DE LOS DATOS ELIMINACIÓN REDUNDANCIA

Más detalles

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA 301127- Programación de sitios web Act 11: Reconocimiento de la unidad 3

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA 301127- Programación de sitios web Act 11: Reconocimiento de la unidad 3 GESTORES DE BASES DE DATOS Existen varios tipos de Sistemas gestores de bases de datos SGBD, según el modelo de datos que utilizan. Son estos: bases jerárquica, en red, relacional, y bases de datos orientadas

Más detalles

GESTORES GESTORES DE BASES DE DATOS

GESTORES GESTORES DE BASES DE DATOS GESTORES GESTORES DE BASES DE DATOS Existen varios tipos de Sistemas gestores de bases de datos SGBD, según el modelo de datos que utilizan. Son estos: bases jerárquica, en red, relacional, y bases de

Más detalles

Tema 5. Lenguaje de Definición de Datos

Tema 5. Lenguaje de Definición de Datos Tema 5 Lenguaje de Definición de Datos Índice Tema 5 1. Creación de tablas. Restricciones 2. Consultas de creación de tablas. 3. Modificación de la estructura de una tabla. 4. Borrado de tablas. 5. Creación

Más detalles

LEA ATENTAMENTE LAS PREGUNTAS Y RESUELVA CADA EJERCICIO COMO SE INDIQUE (EN CASO CONTRARIO EL EJERCICIO NO PUNTUARÁ) CADA EJERCICIO VALE UN PUNTO

LEA ATENTAMENTE LAS PREGUNTAS Y RESUELVA CADA EJERCICIO COMO SE INDIQUE (EN CASO CONTRARIO EL EJERCICIO NO PUNTUARÁ) CADA EJERCICIO VALE UN PUNTO EXAMEN FINAL DE PRÁCTICAS DE BASES DE DATOS 18 de junio de 2003 Nombre: LEA ATENTAMENTE LAS PREGUNTAS Y RESUELVA CADA EJERCICIO COMO SE INDIQUE (EN CASO CONTRARIO EL EJERCICIO NO PUNTUARÁ) CADA EJERCICIO

Más detalles

Base de Datos LSI y PI Lic. Paola Daniela Budán Lic. Federico Rosenzvaig

Base de Datos LSI y PI Lic. Paola Daniela Budán Lic. Federico Rosenzvaig Base de Datos LSI y PI Lic. Paola Daniela Budán Lic. Federico Rosenzvaig Motores de Bases de Datos MySQL (Oracle) SQL Server (Microsoft) PostgreSQL Oracle (Oracle) DB2 (IBM) Informix (IBM) Instalación

Más detalles

Modulo I: Introducción Gestores de Bases De Datos

Modulo I: Introducción Gestores de Bases De Datos Modulo I: Introducción Gestores de Bases De Datos El SQL El SQL (Lenguaje de Consulta Estructurado Structure Query Language), es un lenguaje de consulta estructurado establecido claramente como el lenguaje

Más detalles

SQL (DML) Carlos A. Olarte (carlosolarte@puj.edu.co) Gestión y Modelación de SQL Datos (DML)

SQL (DML) Carlos A. Olarte (carlosolarte@puj.edu.co) Gestión y Modelación de SQL Datos (DML) SQL (DML) Carlos A. Olarte (carlosolarte@puj.edu.co) Gestión y Modelación de Datos Outline 1 Actualización, Inserción y Modificación 2 Consultas (Queries) 3 Renombramiento 4 Ordenamiento 5 Reuniones 6

Más detalles

6.1 Introducción. Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 1

6.1 Introducción. Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 1 6.1 Introducción SQL es más amigable para el usuario, a diferencia de Algebra Relacional, Aunque está basado principalmente en él. Es el lenguaje comercial más popular. Es el lenguaje estándar de las Bases

Más detalles

SQL Los fundamentos del lenguaje

SQL Los fundamentos del lenguaje Introducción 1. Un poco de historia 11 2. Las normas SQL 12 3. Descripción rápida del modelo relacional 14 3.1 Principales conceptos del modelo relacional 15 3.2 Principales reglas 16 4. Los operadores

Más detalles

Departamento de Lenguajes y Sistemas Informáticos

Departamento de Lenguajes y Sistemas Informáticos Departamento de Lenguajes y Sistemas Informáticos Avda Reina Mercedes s/n. 41012 Sevilla Tlf/Fax 954 557 139 E-mail lsi@lsi.us.es www.lsi.us.es E.T.S. Ingeniería Informática Diseño de bases de datos Anexo

Más detalles

Características del lenguaje SQL

Características del lenguaje SQL Lenguaje SQL Características del lenguaje SQL Es el lenguaje estándar para realizar operaciones en bases de datos relacionales. Instrucciones: SELECT Consulta. Su implementación está basada en álgebra

Más detalles

Crear BD en. Isis Bonet Cruz, PhD

Crear BD en. Isis Bonet Cruz, PhD Crear BD en Isis Bonet Cruz, PhD SQL Server Microsoft SQL Server es un sistema de administración y análisis de bases de datos relacionales de Microsoft para soluciones de comercio electrónico, línea de

Más detalles

DISPARADORES EN SQL DISPARADORES EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999

DISPARADORES EN SQL DISPARADORES EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999 DISPARADORES EN SQL:1999 DISPARADORES EN SQL Modelos Avanzados de Bases de Datos Un (trigger) es un procedimiento especial que se ejecuta en respuesta a un evento específico. Ej. Al aumentar el sueldo

Más detalles

TEMA 6: LENGUAJE DE DEFINICIÓN DE DATOS (LDD)

TEMA 6: LENGUAJE DE DEFINICIÓN DE DATOS (LDD) TEMA 6: LENGUAJE DE DEFINICIÓN DE DATOS (LDD 6.1 Introducción Hasta ahora hemos estudiado las sentencias que forman parte del DML (Data Management Language lenguaje de manipulación de datos, todas esas

Más detalles

BASES DE DATOS - SQL. Javier Enciso

BASES DE DATOS - SQL. Javier Enciso BASES DE DATOS - SQL Javier Enciso AGENDA Conceptos Básicos de Bases de Datos Manejo de Bases de Datos y Tablas SQL Inserción, Actualización y Borrado Consultas usando SELECT AGENDA Conceptos Básicos de

Más detalles

SQL. Carlos A. Olarte BDI

SQL. Carlos A. Olarte BDI Carlos A. Olarte (carlosolarte@puj.edu.co) BDI Outline 1 Introducción 2 Select... from... where 3 Renombramiento 4 Ordenamiento 5 Reuniones 6 Operaciones sobre conjuntos 7 Funciones de Agregación 8 Subconsultas

Más detalles

Sistemas Informáticos I Resumen

Sistemas Informáticos I Resumen Sistemas Informáticos I Resumen Alejandro Bellogín Kouki 20 de enero de 2007 1. Modelo Entidad-Relación y tablas 1.1. Modelo E-R Entidad rectángulo Relaciones rombos Uno a uno! Uno a muchos! Muchos a muchos

Más detalles

CENTRO UNIVERSITARIO DE CIENCIAS EXACTAS E INGENIERÍAS DIVISIÓN DE ELECTRÓNICA Y COMPUTACIÓN

CENTRO UNIVERSITARIO DE CIENCIAS EXACTAS E INGENIERÍAS DIVISIÓN DE ELECTRÓNICA Y COMPUTACIÓN DATOS DE IDENTIFICACIÓN DEL CURSO DEPARTAMENTO: CIENCIAS COMPUTACIONALES ACADEMIA A LA QUE PERTENECE: SISTEMAS DE INFORMACION NOMBRE DE LA MATERIA: BASES DE DATOS CLAVE DE LA MATERIA: CC302 CARÁCTER DEL

Más detalles

SQL: Lenguaje de Consulta Estructurado Prof. Jeand Duno

SQL: Lenguaje de Consulta Estructurado Prof. Jeand Duno SQL: Lenguaje de Consulta Estructurado Partes del SQL Lenguaje de Definición de Datos (DDL):Proporciona comandos para definir los objetos de la base de datos. Lenguaje de Manipulación de Datos(DML): Proporciona

Más detalles

EL ENTORNO DE TRABAJO SQL ORACLE

EL ENTORNO DE TRABAJO SQL ORACLE PREVIO 2 EL ENTORNO DE TRABAJO SQL ORACLE Y LENGUAJE DE DEFINICIÓN DE DATOS DDL) INTRODUCCIÓN A ORACLE Oracle10g es de las últimas versiones de esté manejador de base de datos, incorpora la tecnología

Más detalles

Integridad y Seguridad. Integridad y Seguridad. Restricción de Dominio. Protección. Índice. create domain. Dominios

Integridad y Seguridad. Integridad y Seguridad. Restricción de Dominio. Protección. Índice. create domain. Dominios Protección Integridad y Seguridad Las Restricciones de Integridad aseguran que las modificaciones realizadas por usuarios autorizados no provocan perdidas de Consistencia Semántica El Control de Acceso

Más detalles

Sistema Gestor de Bases de Datos Relacionales (SGBDR), que maneja distintos tipos de datos:

Sistema Gestor de Bases de Datos Relacionales (SGBDR), que maneja distintos tipos de datos: Bases de Datos Introducción a ORACLE Sistema Gestor de Bases de Datos Relacionales (SGBDR), que maneja distintos tipos de datos: o Tradicionales como INTEGER, VARCHAR2, DATE,..., etc. o Nuevos y complejos:

Más detalles

Constraints (Restricciones) Copyright Oracle Corporation, 1998. All rights reserved.

Constraints (Restricciones) Copyright Oracle Corporation, 1998. All rights reserved. 11 Constraints (Restricciones) Copyright Oracle Corporation, 1998. All rights reserved. Objetivos Al completar esta lección, debería a ser capaz de hacer lo siguiente: Describir constraints Crear y mantener

Más detalles

Álvaro Herrera alvherre@dcc.uchile.cl Modelamiento Avanzado de Datos con PostgreSQL

Álvaro Herrera alvherre@dcc.uchile.cl Modelamiento Avanzado de Datos con PostgreSQL Modelamiento Avanzado de Datos con PostgreSQL Álvaro Herrera alvherre@dcc.uchile.cl Quinto Encuentro Nacional de Linux, Chile Contenidos Restricciones Check OUTER JOIN Operaciones de Conjuntos Agrupamiento

Más detalles

BASES DE DATOS (IG18 Semipresencial) El Modelo Relacional Algebra Relacional y SQL

BASES DE DATOS (IG18 Semipresencial) El Modelo Relacional Algebra Relacional y SQL BASES DE DATOS (IG18 Semipresencial) El Modelo Relacional Algebra Relacional y SQL Lledó Museros / Ismael Sanz museros@icc.uji.es / isanz@icc.uji.es 1de 60 Índice 1. Introducción 2. Operadores del Álgebra

Más detalles

RICHARD ALEXANDER BETANCUR SIERRA

RICHARD ALEXANDER BETANCUR SIERRA LA TIENDA DE INFORMATICA INSTRUCCIONES: En el siguiente ejercicio se describen cada uno de los comandos para llevar a cabo cada una de las consultas solicitadas, ejecuta cada uno de ellos en el compilador

Más detalles

Primera Escuela de la Red Temática SVO. Madrid, Noviembre, 27 28, 2006. SQL básico. Carlos Rodrigo Blanco LAEFF INTA crb@laeff.inta.

Primera Escuela de la Red Temática SVO. Madrid, Noviembre, 27 28, 2006. SQL básico. Carlos Rodrigo Blanco LAEFF INTA crb@laeff.inta. Primera Escuela de la Red Temática SVO. Madrid, Noviembre, 27 28, 2006 SQL básico LAEFF INTA crb@laeff.inta.es Qué es SQL El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos normalizado,

Más detalles

Guía de ejercicios de SQL Prof. Mauricio E. Fernández N. Semestre Agosto-Diciembre de 2012

Guía de ejercicios de SQL Prof. Mauricio E. Fernández N. Semestre Agosto-Diciembre de 2012 Guía de ejercicios de SQL Prof. Mauricio E. Fernández N. Semestre Agosto-Diciembre de 2012 Problema Enunciado: Sean las siguientes tablas de una base de datos Película (titulo, año Estrella (titulopelicula,

Más detalles

Bases de datos 1. Teórico: Algebra Relacional

Bases de datos 1. Teórico: Algebra Relacional Bases de datos 1 Teórico: Algebra Relacional ALGEBRA RELACIONAL Conjunto de operadores para consultar BDs Relacionales. Operaciones relacionales unarias: Selección y Proyección Operaciones de álgebra relacional

Más detalles

Ejemplo de gestión de datos con SQL

Ejemplo de gestión de datos con SQL Ejemplo de gestión de datos con SQL 1. Crear la tabla FINCA: 2302010 0010 24 3931411 543 COMERÇ 3456912 0023 12 39411312 120 VIVENDES 1230101 00011 45 39328234 213 INDUSTRIA CREATE TABLE `finca` ( `refcad`

Más detalles

LENGUAJE SQL. Bárbula, Febrero de 2007. Historia y Definición

LENGUAJE SQL. Bárbula, Febrero de 2007. Historia y Definición LENGUAJE Integrantes: Ceci Vanessa Paredes Oswaldo Rodríguez Aury Bárbula, Febrero de 2007 : Es una herramienta para organizar, gestionar y recuperar datos almacenados en una base de datos. funciona con

Más detalles

SQL SERVER SQL Server 2005 permite tres tipos de operaciones con conjuntos: UNION, disponible en todas las versiones de SQL Server.

SQL SERVER SQL Server 2005 permite tres tipos de operaciones con conjuntos: UNION, disponible en todas las versiones de SQL Server. SQL SERVER 2005 Operaciones con Conjuntos SQL Server 2005 permite tres tipos de operaciones con conjuntos: UNION, disponible en todas las versiones de SQL Server. EXCEPT, nuevo en SQL Server 2005. INTERSECT,

Más detalles

Tema 4. Manipulación de datos con SQL

Tema 4. Manipulación de datos con SQL Tema 4 Manipulación de datos con SQL Índice Tema 4 1. Inserción de registros. Consultas de datos anexados. 2. Modificación de registros. Consultas de actualización. 3. Borrado de registros. Consultas de

Más detalles

Está basado en el álgebra y en el cálculo relacional.

Está basado en el álgebra y en el cálculo relacional. SQL DML. Introducción SQL. QUÉ ES. SQL (Structured Query Language, Lenguaje Estructurado de Consultas): Lenguaje que permite expresar operaciones diversas (aritméticas, combinatorias, lógicas, selección

Más detalles

Grupo Kybele, http://www.kybele.es/ Pág. 1

Grupo Kybele, http://www.kybele.es/ Pág. 1 Bases de Datos APUNTES PARA EL MANEJO DE SQL*Plus Para cualquier consulta a la sintaxis de las órdenes SQL o SQL*PLUS puede consultarse cualquier libro de ORACLE, o los manuales gratuitos en pdf o en línea

Más detalles

Integridad en sistemas de bases de datos relacionales

Integridad en sistemas de bases de datos relacionales Integridad en sistemas de bases de datos relacionales Competencias específicas a adquirir Asegurar la integridad de los datos mediante la aplicación de los mecanismos soportados por los SGBDs. Identificar

Más detalles

SQL: Lenguaje de definición de datos (DDL) (*) DBMS: DATA BASE MANAGEMENT SYSTEM. SGBD: SISTEMAS GESTOR DE BASE DE DATOS

SQL: Lenguaje de definición de datos (DDL) (*) DBMS: DATA BASE MANAGEMENT SYSTEM. SGBD: SISTEMAS GESTOR DE BASE DE DATOS SQL: Lenguaje de definición de datos (DDL) (*) DBMS: DATA BASE MANAGEMENT SYSTEM. SGBD: SISTEMAS GESTOR DE BASE DE DATOS Objetivos Enseñar al alumno las sentencias que forman el lenguaje de definición

Más detalles

BASE DE DATOS - CURSO 02/03 PRÁCTICA 2: SQL: Lenguaje de definición de datos (DDL)

BASE DE DATOS - CURSO 02/03 PRÁCTICA 2: SQL: Lenguaje de definición de datos (DDL) OBJETIVOS: Enseñar al alumno las sentencias que forman el lenguaje de definición de datos de SQL, es decir, el subconjunto de órdenes que nos permitirán crear o editar esquemas de bases de datos. MATERIAL:

Más detalles

Referencia SQL en la versión de HUGOSQL White Paper por: HUGOSQL 2012

Referencia SQL en la versión de HUGOSQL White Paper por: HUGOSQL 2012 Referencia SQL en la versión de HUGOSQL White Paper por: HUGOSQL 2012 Audiencia Este documento va dirigido a desarrolladores, estudiantes universitarios y usuarios de SQL que tengan conocimiento básico

Más detalles

Motores de Base de Datos Libres: Postgresql y MySql. Ing. Ricardo Naranjo Faccini, M.Sc

Motores de Base de Datos Libres: Postgresql y MySql. Ing. Ricardo Naranjo Faccini, M.Sc XXIV SALÓN DE INFORMÁTICA Motores de Base de Datos Libres: Postgresql y MySql Ing. Ricardo Naranjo Faccini, M.Sc Novell Product Manager Nexsys de Colombia S.A. Octubre 13 de 2004 Encontrando el camino

Más detalles

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO LENGUAJE DE CONSULTA ESTRUCTURADO - SQL 1. TIPOS DE DATOS 2. COMANDOS DDL 2.1 Créate 2.2 Drop 2.3 Alter 3. COMANDOS DML 3.1 Select 3.2 Insert 3.3 Update 3.4 Delete 4. CLAUSULAS 4.1 From 4.2 Where 4.3 Having

Más detalles