Tablas, TDU, vistas, indices, reglas, defaults

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

Download "Tablas, TDU, vistas, indices, reglas, defaults"

Transcripción

1 Tablas, TDU, vistas, indices, reglas, defaults

2 SQL (Structured Query Language) SQL lenguaje usado para definir, manipular, y controlar bases de datos relacionales Definido por ANSI (American National Standards Institute) Comandos SQL se pueden dividir en tres categorías: DDL (Data definition language) create, alter, drop DML (Data manipulation language) select, insert, update, delete DCL (Data control language) grant, revoke

3 Creación de Tablas

4 Diseño de Tablas Una Tabla es un objeto de base de datos que almacena datos en filas y columnas Antes de crear una tabla, se debe diseñar su estructura: 1. Darle nombre a la tabla y a cada columna 2. Seleccionar un tipo de dato para cada columna 3. Escoger las propiedades de cada columna

5 Datatype Un tipo de datos (datatype) es un atributo asignado a una columna que especifica el tipo de información que puede almacenarse en esa columna

6 Seleccionar Datatypes Para seleccionar el datatype de una columna: 1. Determinar el conjunto posible de valores 2. Determinar la precisión requerida 3. Encontrar el datatype que: Pueda guardar todos los posibles valores Proporcione la exactitud y precisión requeridas Use eficientemente el almacenamiento Facilite el futuro crecimiento

7 Categorías de Datatypes Números exactos Números con exactitud y precisión predecibles Números aproximados Números con valores dependiendo de exactitud y precisión del almacenamiento Money Valores para pesos Date y time Valores de fechas y horas Character Para strings caracteres Binary Información binaria (como imágenes, video y bits)

8 Ejemplos de Datatypes por Categorías Números exactos integer, numeric (p,s), decimal (p,s) Números aproximados float (p), real, double precision (dependientes de máquina) Money money Date y time datetime Character char (n), varchar (n), text Binary bit, binary, varbinary, image

9 Datatypes definidos por el Usuario Un datatype definido por el usuario es un datatype creado por el usuario de un datatype del sistema Muy útil para asegurar consistencia de múltiples columnas que almacenan el mismo conjunto de valores

10 Propiedades de las Columnas Una columna puede tener una de las siguientes propiedades: NULL NOT NULL IDENTITY Si no se especifica, generalmente se asume NOT NULL

11 Valores tipo NULL Un NULL representa un valor desconocido o que no aplica Para valores numéricos, NULL no es igual a 0 Para caracteres, NULL no es igual a '' '' (caracter en blanco) NULL no se considera considera menor que, mayor que, o igual a cualquier otro valor Dos NULL no se consideran iguales

12 Propiedades de NULL Una columna con la propiedad NULL permite NULLs Esto se conoce como nullable column Una columna con la propiedad NOT NULL no permite NULLs Una columna que no se le especifique esta propiedad asume que permite NULLs

13 Propiedad IDENTITY La propiedad IDENTITY hace que el sistema asigne automáticamente valores únicos a cada fila Cuando se insertan datos en una tabla, el servidor automáticamente asigna un número secuencial a la columna que tiene la propiedad de IDENTITY

14 Reglas para columnas con IDENTITY Sólo puede existir una por tabla Debe de ser de tipo numérico sin posiciones decimales No se puede actualizar No acepta valores tipo NULL Inicia por default en 1 Se puede asignar un valor de arranque

15 Crear Tablas Sintaxis Simplificada para create : CREATE TABLE table_name ( column_name datatype [ NULL NOT NULL IDENTITY ],... column_name datatype [ NULL NOT NULL IDENTITY ] )

16 Crear Tabla create table empleado ( emp_id apellido nombre numeric(4,0) IDENTITY, varchar(30) NOT NULL, varchar(30) NOT NULL, e_mail char(6) NULL, departamento typ_ch_deptid )

17 Borrar Tablas Sintaxis Simplificada para drop: DROP TABLE table_name Ejemplo: drop table empleado

18 Cláusula default La cláusula default hace que el servidor dé un valor cuando el valor no se proporciona explícitamente al hacer un insert Sintaxis Simplificada : create table table_name ( column_name datatype default default_value [property],...)

19 Modificación de cláusulas default Sintaxis Simplificada: alter table table_name replace column_name default default_value A pesar de que la sintaxis usa la palabra replace, el comando alter table se puede usar para añadir cláusulas default a una tabla

20 Ejemplo de modificación de cláusulas default alter table publica replace ciudad default Cali" alter table publica replace depto default Valle

21 Tablas y Permisos Para permitir que otros usuarios puedan consultar, manipular los datos o hacer referencia a una tabla, se deben dar permisos Sintaxis Simplificada: grant { select insert update delete reference all } on table_name to user_list Ejemplo: grant select on empleado to juan, sandra, pablo

22 Adición de Columnas Después de creada una tabla, se pueden añadir columnas Algunos DBMS no permiten borrar directamente una columna de una tabla Para borrar una columna, se debe borrar y volver a crear la tabla Sintaxis para añadir una columna a una tabla: alter table table_name add column_name datatype NULL [, column_name datatype NULL...] Todas las columnas añadidas deben tener la propiedad NULL.

23 Adicionar Columnas alter table editor add address varchar(40) country varchar(20) NULL, NULL

24 Copiar Tablas select into es una extensión que se usa para crear una copia de una tabla existente

25 Sintaxis de select into Sintaxis Simplificada : select column_list into new_table_name from old_table_name [where condition]

26 Ejemplos de select into Ejemplo de copiado de todas las columnas: select * into titles_copy from titles Ejemplo de copiado de algunas columnas : select title_id, title, type into titles_copy from titles

27 Ejemplos de select into Ejemplo que copia algunos datos: select * into titles_copy from titles where price > $12.00 Ejemplo que no copia datos: Porque la cláusula where siempre da falso, se copia la estructura de la tabla pero no sus datos select * into titles_copy from titles where 1 = 2

28 Data Manipulation Language DML es uno de los tres grupos principales de sentencias SQL Comprende cuatro sentencias: insert añade datos a una tabla update actualiza datos existentes en una tabla delete borra datos de una tabla select consulta datos de una tabla

29 Sintaxis para insert sintaxis Simplificada: insert [into] table_name [(column_list)] { values (value_list) select_statement } Ejemplos: insert into editor values ("736", Nuevas BD", Pasto", Nariño") insert into editor (nombre, pub_id) values ( Prensa Actual", "2003 )

30 Extensión SQL para insert Se pueden insertar múltiples filas en un solo insert utilizando un select embebido Ejemplo: insert into editor select * from pub..editor Las columnas en las que se van a insertar datos deben tener los mismos tipos de datos que resulten de las columnas del query

31 Sintaxis para update Sintaxis Simplificada : update table_name set column1 = { expression select_statement } [, column2 = { expression select_statement }...] [from table_list] [where condition] Ejemplos: update titles set price = price * $1.25 update authors set address = "1224 Mason Ct.", phone = " " where au_id = " "

32 Extensión para update Se pueden encadenar condiciones en la cláusula where de un update Ejemplo: update titulo set precio = precio * $0.90 from titulo t, editor p where t.pub_id = p.pub_id and p.state = Nariño"

33 Sintaxis para delete Sintaxis Simplificada: delete [from] table_name [where condition] Ejemplos: delete from editor delete from titulo where tipo = "business" delete from autor where au_fname = "Luis" and au_lname = Caicedo"

34 Extensión para delete Se pueden encadenar condiciones en la cláusula where de un delete Sintaxis simplificada : delete table_name from table_list [where join_condition] Ejemplo delete titles from titles t, publishers p where t.pub_id = p.pub_id and p.state = "CA"

35 truncate table truncate table borra todas las filas de una tabla La operación se ejecuta más rápido que la correspondiente sentencia delete El comamdo no se puede usar para borrar algunas filas de la tabla Sintaxis simplificada: truncate table table_name Ejemplo: truncate table publishers

36 Registro de Transacciones (Log) El registro de transacciones se utiliza para recuperar los datos en el evento de un error del usuario o falla del sistema Actúa ante cada insert, update, y delete Algunas operaciones no se registran Ejemplo de operaciones sin registro: select into truncate table

37 Select La sentencia select consulta datos Sintaxis simplificada: select column_list from table_name [where condition] [group by column_list] [having condition] [order by column_list] Ejemplo: select type, avg(price) from titles where type not in ("mod_cook", "trad_cook") group by type having avg(price) > $12.00 order by type

38 Vista Una vista es un objeto de base de datos que consiste de una sentencia select almacenada Usada para: Simplificar la construcción de consultas complejas Simplificar al usuario la percepión de la base de datos Limitar el acceso a los datos

39 Crear y borrar vistas Sintaxis Simplificada para crear una vista : create view view_name [(column1 [, column2...]) as select_statement [with check option] Ejemplo: create view vw_california_authors as select au_id, au_lname, au_fname, state, phone from authors where state = "CA" Sintaxis simplificada para borrar una vista: drop view view_name Ejemplo: drop view vw_california_authors

40 Vistas y permisos Para permitir que otros utilicen una vista, se deben dar permisos: grant [ select insert update delete all ] on view_name to user_list Ejemplo: grant select on vw_california_authors to clerk1, clerk2, clerk3, clerk4

41 Consultar datos usando vistas Para consultar datos usando vistas, usar el nombre de la vista como si se tratara de una tabla Ejemplo: select * from vw_california_authors au_id au_lname au_fname state phone White Johnson CA Green Marjorie CA Carson Cheryl CA O'Leary Michael CA Straight Dick CA (15 rows affected)

42 Modificar datos usando vistas Se pueden modificar datos usando vistas si: Todas las columnas involucradas están en una tabla Todas las columnas no usadas en la vista ni permiten NULLs, contienen la cláusula default o contienen columnas con IDENTITY Ejemplo: insert into vw_california_authors values (" ", "Chen", "Rose", "CA", " ") Se pueden actualizar datos usando vistas si: Todas las columnas involucradas están en una tabla Se pueden borrar datos usando vistas si: La vista está basada en una sola tabla Ejemplo: delete from vw_california_authors where au_lname = "Hunter"

43 Usar vistas para simplificar el acceso Las vistas pueden simplificar el acceso a los datos almacenando las consultas complejas (tales como joins) Ejemplo: create view vw_pub_title_join (publisher, title) as select pub_name, title from publishers, titles where publishers.pub_id = titles.pub_id go select * from vw_pub_title_join pub_name title New Age Books You Can Combat Computer Stress New Age Books Is Anger the Enemy?...

44 Usar vistas para restringir acceso Una vista puede permitir a los usuarios acceder a una parte de la tabla cuando el acceso al contenido total de la tabla está restringido create view vw_california_authors as select au_id, au_lname, au_fname, state, phone from authors where state = "CA" go grant all on vw_california_authors to public revoke all on authors from public

45 Opción with check with check option restringe cómo se pueden modificar las filas. Una operación falla si: Tratar de insertar filas que las vista no puede ver Tratar de modificar filas que las vista no puede ver Ejemplo: create view vw_kansas_authors as select au_id, au_lname, au_fname, state, phone from authors where state = "KS" with check option Ejemplo de modificación que da error: update vw_kansas_authors set state = "MO" where state = "KS"

46 Reglas para vistas La definición de una vista puede incluir: Una cláusula where Una columna con valores calculados (ej. precio * cant) Funciones Agregadas, una cláusula group by, y una cláusula having distinct Un join Otra vista (hasta 16 niveles) Una definición de una vista no puede incluir: Una cláusula order by Una cláusula compute o compute by select into

47 Ejemplos con vistas Crear dos tablas: select * into mytitles from pubs2..titles select * into mypublishers from pubs2..publishers Crear vista que muestra titles y sus publishers vía un join: create view vw_titles_pubs (title, publisher) as select title, pub_name from mytitles, mypublishers where mytitles.pub_id = mypublishers.pub_id Usar la vista para mostrar los titles y sus publishers: select * from vw_titles_pubs

48 Ejecute las siguientes sentencias, cuáles pueden o no fallar. Si la Sentencia falla, explique por qué: select price from vw_titles_pubs update vw_titles_pubs set publisher = "New Millenium Books" where publisher = "New Age Books" insert into vw_titles_pubs values ("Life in Houston", "TexTitles") Borrar los objetos creados: drop view vw_titles_pubs drop table mytitles, mypublishers

49 Table scan Un table scan es una búsquda en donde se leen todas las filas de una tabla Una tabla que no tenga índices creados, solamente puede hacer búsquedas a través de un table scan

50 Indices Un índice es un objeto de base de datos que ayuda al servidor a encontrar un dato más rápidamente

51 Estructura de un Indice : Caso de Estudio key Bennet Karsen Smith row ptr PAGE PAGE , , , pg ptr key Bennet Greane Hunter Index pages row ptr PAGE PAGE , , , pg ptr PAGE PAGE Karsen 1876, (more pages) create index idx_authors_2 on authors(au_lname) PAGE PAGE Bennet 1421, 1 Chan Dull 1129, , 1 Edwards 1018, 5 PAGE PAGE Greane 1242, 4 Green Greene 1421, , 2 PAGE PAGE Hunter 1242, 1 Jenkins 1241, 4 (more pages) authors table (data pages) PAGE PAGE O Leary 11 Ringer 12 White 13 Jenkins PAGE PAGE Hunter 15 Smith 16 Ringer 17 Greane PAGE PAGE Bennet 19 Green 20 Ringer PAGE PAGE Dull 22 Greene 23 White (more pages)

52 Crear y borrar índices Sintaxis simplificada para create : create [unique] [ clustered nonclustered ] index index_name on table_name (column1 [, column2]... ) Ejemplo: create clustered index idx_c_titles_1 on titles (title_id) Sintaxis Simplicada para drop : drop index table_name.index_name Ejemplo: drop index titles.idx_c_titles_1

53 Atributos de los índices Tres atributos describen cada índice El número de columnas sobre las cuales se declara el índice Una columna índice no-compuesto Múltiples columnas - índice compuesto Si el índice acepta o no valores duplicados Se permiten valores duplicados - índice no-único No se permiten valores duplicados - índice único Si están o no ordenados los datos en la tabla por el concepto del índice cuando la tabla se crea Datos ordenados durante la creación - índice cluster Datos no ordenados durante la creación - índice no-cluster

54 Indice no-compuesto Un índice no-compuesto es un índice creado sobre una columna Ejemplo: create index idx_authors_2 on authors(state) Apropiado cuando las consultas se hacen frecuentemente sobre una sola columna Ejemplo: select * from authors where state = "UT"

55 Indice compuesto Un índice compuesto es un índice creado sobre dos o más columnas Ejemplo: create index idx_authors_3 on authors(au_lname, au_fname) Apropiado cuando las consultas se hacen sobre múltiples columnas Ejemplo: select * from authors where au_lname = "Ringer" and au_fname = "Anne"

56 Indice no-único Un Indice No-único es un índice que permite valores duplicados Ejemplo: create index idx_authors_2 on authors(state) Apropriado cuando las consultas se hacen sobre valores duplicados Ejemplo: select * from authors where state = "UT"

57 Indice único Un índice único es un índice que no permite valores duplicados Ejemplo: create unique index idx_u_authors_1 on authors(au_id) Apropiado cuando cada valor en la columna indizada debe ser único Ejemplo: select * from authors where au_id = " " Puede ser creado solamente sobre columnas que no tengan valores duplicados

58 Indice no-cluster Un índice no-cluster es un índice que utiliza un concepto de ordenamiento diferente a como se realizó el almacenamiento de la tabla Ejemplo: create nonclustered index idx_authors_4 on authors(state) Una tabla puede tener muchos índices no-cluster Apropiado para: Tablas que ya tienen un índice cluster

59 Estructura de un índice no-cluster key Bennet Karsen Smith row ptr 1876, , 1 pg ptr PAGE PAGE , key Bennet Greane Hunter Index pages root level intermediate level leaf level row ptr PAGE PAGE , , , pg ptr PAGE PAGE Karsen 1876, (more pages) create index idx_authors_2 on authors(au_lname) key PAGE PAGE Bennet 1421, 1 Chan Dull 1129, , 1 Edwards 1018, 5 PAGE PAGE Greane 1242, 4 Green Greene 1421, , 2 PAGE PAGE Hunter 1242, 1 Jenkins row ptr 1241, 4 (more pages) authors table (data pages) PAGE PAGE O Leary 11 Ringer 12 White 13 Jenkins PAGE PAGE Hunter 15 Smith 16 Ringer 17 Greane PAGE PAGE Bennet 19 Green 20 Ringer PAGE PAGE Dull 22 Greene 23 White (more pages)

60 Indice cluster Un índice cluster es un índice que, cuando se crea, indica cómo están físicamente almacenados los datos en la tabla Ejemplo: create clustered index idx_c_authors_1 on authors(au_id) Una tabla sólo puede contener un índice cluster Típicamente mejora el rendimientos de las consultas que se hacen a una tabla Consultas con valor único (where state = ''CA'') Consultas por rango de valores (where price > $10.00) Puede dismuir el rendimiento en operaciones de modificación de los datos de una tabla Esta reducción se debe a que se deben almacenar físicamente los datos ordenados

61 Etructura de un índice cluster key Bennet Karsen Smith root level PAGE PAGE pg ptr key Bennet Greane Hunter Index pages intermediate level PAGE PAGE pg ptr PAGE PAGE Karsen 1409 authors table (leaf/data pages) PAGE PAGE Bennet 11 Chan 12 Dull 13 Edwards PAGE PAGE Greane 15 Green 16 Greene 17 PAGE PAGE Hunter 19 Jenkins 20 (more pages) create clustered index idx_authors_2 on authors(au_lname) PAGE PAGE Karsen 22 O'Leary 23 Ringer (more pages)

62 Escritura de consultas que usen índices Los índice se usan solamente cuando una consulta hace referencia a columna(s) indizada(s) en la cláusula where Si una tabla: Tiene dos columnas, y Cualquiera puede identificar una fila desada, y Una columna está indizada mientras la otra no, entonces Se debe utilizar la columna indizada en la cláusula where de la consulta

63 Tabla temporal Una tabla temporal es a tabla que eventualmente la borra el servidor sin que se ejecute la sentencia drop table Típicamente existen dos tipos de tablas temporales: Compartidas (Shareable) De sesión específica

64 Uso de tablas temporales Uso de tablas temporales: Por el usuario: Para guardar resultados de consultas muy complejas Para almacenar resultados intermedios (por ejemplo de stored procedure) Por el sistema: Para almacenar resultados intermedios de consultas que requieren ordenamiento o eliminación de valores Para almacenar resultados intermedios de consultas que tienen la cláusula compute o agregadas

65 Tablas del sistema Una tabla del sistema es una tabla creada y mantenida por el servidor que almacena información acerca del servidor o de sus bases de datos

66

67 Integridad de datos Tres tipos de integridad ayudan a garantizar que los datos son correctos integridad a nivel de dominio Asegura que cualquier valor en una columna está dentro del conjunto de valores válidos para esa columna integridad a nivel de entidad Asegura que cualquier fila de una tabla puede identificarse inequívocamente integridad referencial Asegura que un determinado valor no puede escribirse en una tabla si ese valor no existe en otra tabla

68 Dos métodos para forzar integridad Domain Integrity Entity Integrity Referential Integrity Constraints Database Objects Check constraints Primary key constraints, unique constraints References constraints Rules Indexes Triggers

69 Constraint Un constraint es un elemento de la sentencia create table que forza uno de los tres tipos de integridad de datos Declarada a nivel de columna o de tabla Los constraints también se conocen como declarative integrity

70 Integridad a nivel de dominio La integridad a nivel de Dominio asegura que cualquier valor en una columna está dentro del conjunto de valores aceptables para esa columna

71 Restricción Check Un check constraint forza integridad a nivel de Dominio durante las adiciones y actualizaciones Si una sentencia contiene un valor que no concuerda con los permitidos, la sentencia falla

72 Restricción check a nivel de columna Sintaxis Simplificada: create table table_name ( column_namedatatype [ NULL NOT NULL IDENTITY ] [constraint constraint_name] check (condition_using_column_name),... column_name datatype [ NULL NOT NULL IDENTITY ] ) Ejemplo: create table publishers ( pub_id char(4) NOT NULL constraint chk_pub_id check (pub_id like "99[0-9][0-9]"), pub_name varchar(40) NULL, city varchar(20) NULL, state char(2) NULL )

73 Nombre de restricción a nivel de columna Si un usuario no da el nombre de una restricción a nivel de columna, el servidor genera uno Para simplificar la administración, el usuario debería escribir el nombre de todos los constraints El nombre de un Constraint debe ser único a nivel de la base de datos

74 Restricción a nivel de tabla Sintaxis Simplificada: create table table_name ( column_name datatyp [ NULL NOT NULL IDENTITY ],... column_name datatype [ NULL NOT NULL IDENTITY ], [constraint constraint_name] check (condition_involving_any_column_or_columns) ) Ejemplo: create table discounts ( discounttype varchar(40) NOT NULL, stor_id char(4) NULL, lowqty smallint NULL, highqty smallint NULL, discount float NOT NULL, constraint chk_low_high check (lowqty <= highqty) )

75 Restricciones y defaults Los servidores permiten que una tabla tenga default y check sin que haya contradicción Ejemplo (cualquier insert que use el default fallará): create table publishers ( pub_id char(4) NOT NULL, pub_name varchar(40) NULL, city varchar(20) default "Tulsa" NULL, state char(2) default "OK" NULL, constraint chk_state check (state in ("CA", "OR", "WA", "NV")) ) insert into publishers (pub_id, pub_name) values ("9909", "Failed Imprints")

76 Integridad a nivel de entidad La integridad a nivel de entidad asegura que cada fila de una tabla está identificada de manera inequívoca

77 Primary key Combinación de una o más columnas que identifican de manera inequívoca una fila en una tabla

78 Restricción primary key Una restricción primary key asegura integridad a nivel de entidad Crea un índice único sobre la columna(s) especificada(s) Se asegura integridad en los inserts y updates Sólo puede existir una llave primaria por tabla

79 Indices creados por primary key Unico Cluster No permite valores NULL en la(s) columna(s) No se puede borrar usando la sentencia drop index

80 Primary key a nivel de columna Sintaxis Simplificada: create table table_name ( column_name datatype [ NOT NULL IDENTITY ] [constraint constraint_name] primary key [clustered nonclustered],... column_name datatype [ NULL NOT NULL IDENTITY ] ) Ejemplo: create table publishers ( pub_id char(4) NOT NULL constraint pky_c_pub_id primary key, pub_name varchar(40) NULL, city varchar(20) NULL, state char(2) NULL )

81 Primary key a nivel de tabla Sintaxis Simplificada: create table table_name ( column_name datatype [ NULL NOT NULL IDENTITY ],... column_name datatype [ NULL NOT NULL IDENTITY ] [constraint constraint_name] primary key (column1 [, column2...]) ) Ejemplo: create table sales ( ) stor_id char(4) NOT NULL, ord_num varchar(20) NOT NULL, date datetime NOT NULL, constraint pky_c_storid_ordnum primary key (stor_id, ord_num)

82 Restricción unique Una restricción unique forza integridad a nivel de entidad Crea un índice único sobre la columna(s) specificada(s) Asegura integridad durante los inserts y updates Las tablas pueden tener más de una restricción tipo unique

83 Indices creados con restrición unique Unico No-cluster por default Permite el uso de valores tipo NULL No se puede borrar usando la sentencia drop index

84 Restricción unique a nivel de columna Sintaxis Simplificada: create table table_name ( column_name datatype [ NULL NOT NULL IDENTITY ] [constraint constraint_name] unique [clustered nonclustered],... column_name datatype [ NULL NOT NULL IDENTITY ] ) Ejemplo: create table publishers ( pub_id char(4) NOT NULL, pub_name varchar(40) NULL constraint unq_pub_name unique, city varchar(20) NULL, state char(2) NULL )

85 Restricción unique a nivel de tabla Sintaxis Simplificada: create table table_name ( column_name datatype [ NULL NOT NULL IDENTITY ],... column_name datatype [ NULL NOT NULL IDENTITY ] [constraint constraint_name] unique (column1 [, column2...]) ) Ejemplo: create table sales ( ) stor_id char(4) NOT NULL, ord_num varchar(20) NOT NULL, date datetime NOT NULL, constraint unq_stor_id_ord_num unique (stor_id, ord_num)

86 Restricciones primary key vs unique What is the default type of index? How many NULL values does it allow? Can you have more than one per table? Primary Key Constraint Clustered None No Unique Constraint Nonclustered One Yes

87 Integridad referencial Integridad referencial asegura un valor no se puede almacenar en una tabla a menos que él exista en otra tabla (o es NULL) Ejemplo: A publisher ID cannot be entered in the titles table unless it exists in the publishers table

88 Foreign key Una foreign key es una combinación de una o más columnas que corresponde(n) a la llave primaria de otra tabla

89 Restricción referencial Una restricción referencial forza integridad referencial La integritdad se asegura en inserts, updates, y deletes Si un insert o update contiene valores de foreign key que no existen en la(s) column(s) primary key, la sentencia falla Si un update o delete va a quitar un valor de primary key que tiene valores foreign key existentes, la sentencia falla

90 Restricción referencial a nivel de columna Sintaxis Simplificada: create table table_name ( column_name datatype [ NULL NOT NULL IDENTITY ] [constraint constraint_name] references table_name (primary_key_column),... column_name datatype [ NULL NOT NULL IDENTITY ] ) Ejemplo: create table titles ( title_id char(6) NOT NULL, title varchar(80) NULL, pub_id char(4) NULL constraint ref_pub_id references publishers (pub_id), notes varchar(200) NULL )

91 Restricción referencial a nivel de tabla Sintaxis Simplificada: create table table_name ( column_name datatype [ NULL NOT NULL IDENTITY ],... column_name datatype [ NULL NOT NULL IDENTITY ], [constraint constraint_name] foreign key (list_of_columns_from_this_table) references table_name (primary_key_column_list) ) Ejemplo: create table salesdetail ( stor_id char(4) NOT NULL, ord_num varchar(20) NOT NULL, title_id char(6) NOT NULL, qty smallint NOT NULL, discount float NOT NULL, constraint ref_sales foreign key (stor_id, ord_num) references sales (stor_id, ord_num) )

92 Reglas para restriciones referenciales La(s) columna(s) en la tabla padre que es referenciada en una tabla hija debe cumplir una de las siguientes condiciones: Tener una restricción primary key constraint Tener una restricción A unique constraint Tener indice unico creado con el comando create index Una restricción referencial se puede referir a columnas dentro de la misma tabla Ejemplo: create table employees ( emp_id char(10) NOT NULL, name varchar(40) NOT NULL, manager char(10) NOT NULL constraint ref_manager references employees(emp_id) )

93 Restricciones sobre valores referenciales Modificación de valores sobre una primary key: No se permite hacer update o delete si el valor existe en una foreign key Se permite hacer update o delete si el valor no existe en una foreign key Modificación de valores sobre foreign key: No se permite insert o update si el nuevo valor no existe en la correspondiente primary key Borrado de tablas con primary keys: No se pueden borrar una tabla si su primary key está referenciada en una foreign key

94 Ejemplos de restricción referencial Crear la tabla customers con una primary key: create table customers ( customer_id int constraint pk_cust primary key, name varchar(40) ) Crear una tabla orders de tal forma que una orden no se pueda insertar a menos que exista un ID válido en customer. Usar una foreign key (customer_id) que se refiera a la primary de la otra tabla (customers.customer_id): create table orders ( item_name varchar(20), customer_id int references customers (customer_id) )

95 Insertar dos filas en customers: insert into customers values (101, "Liz Shaw") insert into customers values (102, "Jo Grant") Ejecutar estas sentencias (una fallará): insert into orders values ("widget", 102) insert into orders values ("gadget", 105) Cuál insert falla? Por qué? Ejecutar estas sentencias (una fallará): delete from customers where name = "Liz Shaw" delete from customers where name = "Jo Grant"

96 Cuál delete falla? Por qué? Borrar los objetos de base de datos creados: drop table orders drop table customers

97 Adición de restricciones Sintaxis simplificada para añadir: alter table table_name add constraint constraint_name { check (condition) primary key (column_list) unique (column_list) foreign key (column_list) references table (column_list) } Ejemplos: alter table roysched add constraint chk_hirange_lorange check (hirange > lorange) alter table publishers add constraint pky_pub_id primary key (pub_id) alter table titles add constraint ref_pub_id foreign key (pub_id) references publishers(pub_id)

98 Borrado de restricciones Sintaxis simplificada para borrado: alter table table_name drop constraint constraint_name Ejemplos: alter table roysched drop constraint chk_hirange_lorange alter table publishers drop constraint pky_pub_id alter table publishers drop constraint unq_pub_name alter table titles drop constraint ref_pub_id

99 Ejemplos de restricciones Crear una table employees: create table employees ( emp_id int, name varchar(40), salary money ) Añadir una nueva restricción a la tabla: alter table employees add constraint chk_salary check (salary between $1 and $70000) Tratar de insertar un empleado con un dato de salario inválido: insert into employees values (01, "Sarah Jane Smith", 90000)

100 Borrar los objetos de base de datos creados: drop table employees exec sp_dropmessage 20001

101

102 Default Un default es un objeto de base de datos que proporciona un valor a una columna cuando en un insert no se especifica un valor para esa columna Se puede aplicar a una o más columnas

103 Crear y asignar defaults Sintaxis simplificada para Create: create default default_name as constant_expression Ejemplo: create default def_state as "CA" Asignación del default

104 Reglas para asignar defaults Una columna solamente puede tener un default Si se intenta asignar un default a una columna que ya tiene un default, ese intento fallará Una columna con una cláusula default no se le puede asignar un default Cuando un default se asigna, los datos en la tabla no se ven afectados Solamente aplica a los datos que se inserten después de que se asigne el default

105 Quitar y borrar defaults Quitar un default Sintaxis simplificada para borrado: drop default default_name Ejemplo: drop default def_state

106 Rule Una rule es un objeto de base de datos que no permite inserts y updates si la regla no se cumple Como la restricción check, se puede utilizar para forzar integridad a nivel de dominio Una rule se puede asignar a una o más columnas

107 Crear reglas Sintaxis simplificada: create rule rule_name as condition_expression Ejemplos: create rule rul_state in ("CA", "CO", "WA") create rule rul_discount_range between 0 and 20 create rule rul_file_date < 12 > 22 create rule rul_pub_id in ("1389", "0736", "0877") like "99[0-9][0-9]"

108 Asignar reglas Sintaxis simplificada: sp_bindrule rule_name, object_name Ejemplo: sp_bindrule rul_state, "publishers.state" Una columna solamente puede tener una rule Si se asigna una regla a una columna, cualquier regla asignada con anterioridad pierde validez Una columna puede tener una restricción y una rule asignadas a ella Los valores deben cumplir ambas condiciones: la restricción y la rule en operaciones de inserción o actualización Cuando se asigna una regla, los valore existentes en la tabla no se ven afectados Solamente aplica a los datos que inserten después de que la regla se asigna

109 Desasignar y borrar reglas Desasignar reglas Sintaxis simplificada para drop : drop rule rule_name Ejemplo: drop rule rul_state

110 Rules y defaults Crear una tabla: create table employees ( emp_id int, name varchar(20) ) Crear una regla: los ID de los empleados debe ser mayor que 10: create rule rul_employee > 10 Crear un default de 5 para ID de empleado: create default def_employee as 5

111 Asignar nuevos default y rule a la tabla: sp_bindrule rul_employee, "employees.emp_id" exec sp_bindefault def_employee, "employees.emp_id" Ejecutar estas sentencias (una fallará): insert into employees (emp_id, name) values (20, "Liz Shaw") insert into employees (name) values ("Jo Grant") Cuál insert falla? Por qué?

112 Desasignar el default y la rule: sp_unbindefault "employees.emp_id" exec sp_unbindrule "employees.emp_id" Borrar los objetos de base de datos: drop default def_employee drop rule rul_employee drop table employees

113 Datatypes definidos por el usuario Defaults y rules se pueden asignar a datatypes definidos por el usuario Las columnas que usen esos datatype aplican el default y rule que tenga asignado ese datatype Si el default o rule cambian, se aplican de inmediato Los datos existentes no se afectan por los cambios

114 Precedencia de columna y datatype Si una columna: Tiene asignado un default, y Usa un datatype definido por el usuario que tiene un default diferente, entonces El default asignado a la columna tiene precedencia Similarmente, si una columna: Tiene una rule, y Usa un datatype definido por el usuario que tiene una rule diferente, entonces La rule asignada a la columna tiene precedencia

115 Métodos para garantizar integridad de datos Dos métodos para implementar integridad de datos Domain Integrity Entity Integrity Referential Integrity Constraints Check constraints Primary key constraint, unique constraint References constraints Database Objects Rules Indexes Triggers

116 Resumen de restricciones Son exigidos en el estándar ANSI Son específicos a la tabla en que se crean y no son reutilizables No se pueden asociar a datatype definidos por el usuario Se crean al crear las tablas (o al modificarlas) Fácilmente se pueden implementar checks multicolumna

117 Resumen de defaults y rules Son extensiones SQL No son específicos de una tabla y son reutilizables Se pueden asociar a datatypes de usuario No se crean al crear la tabla y requieren de etapas adicionales (creación y asignación) No pueden implementar checks multicolumna

118 Selección de un método Usar constraints: Para implementar integridad una tabla Para cumplir con el ANSI standard Para restringir el dominio de una columna Para definir checks entre dos columnas de una fila Usar objetos de base de datos: Para implementar integridad que aplica a más de una columna, tabla o base de datos Para asignar rules o defaults datatypes de usuario

Bases de Datos Índices

Bases de Datos Índices Bases de Datos Índices Table scan Un table scan es una búsqueda en donde se leen todas las filas de una tabla Una tabla que no tenga índices creados, solamente puede hacer búsquedas a través de un table

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

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

Conceptos de Bases de Datos Relacionales Triggers

Conceptos de Bases de Datos Relacionales Triggers Conceptos de Bases de Datos Relacionales Triggers Trigger Un trigger es un procedimiento almacenado asociado con una tabla, el cual se ejecuta automáticamente cuando se modifica un dato de esa tabla Stored

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

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

PROCEDIMIENTOS ALMACENADOS Y TRIGGERS. Bases de Datos Ingeniería de Sistemas y Computación Universidad Nacional de Colombia 2007

PROCEDIMIENTOS ALMACENADOS Y TRIGGERS. Bases de Datos Ingeniería de Sistemas y Computación Universidad Nacional de Colombia 2007 PROCEDIMIENTOS ALMACENADOS Y TRIGGERS Bases de Datos Ingeniería de Sistemas y Computación Universidad Nacional de Colombia 2007 Procedimientos almacenados Un procedimiento almacenado es un conjunto de

Más detalles

Bases de Datos Relacionales

Bases de Datos Relacionales Bases de Datos Relacionales FUNCIONES Preparó: Ismael Castañeda Fuentes Fuentes: Manuales Sybase Manuales SQL Server Manuales Oracle Function (funciones) Una function es una operación que manipula datos

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

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

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

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

Structured Query Language. Práctica

Structured Query Language. Práctica Structured Query Language Práctica Acceso a SQL Server Acceder a SQL Server Inicio ---- Programas ----- Microsoft SQL Server 2005 ------ SQL Server Management Studio Conectándose a SQL Server Conectarse

Más detalles

Implementación de la integridad de datos

Implementación de la integridad de datos Implementación de la integridad de datos Contenido Introducción 1 Tipos de integridad de datos 2 Exigir integridad de los datos 3 Definición de restricciones 4 Tipos de restricciones 9 Deshabilitación

Más detalles

SQL SQL. Índice. Componentes. Objetivos

SQL SQL. Índice. Componentes. Objetivos Estándar En 1986, ANSI (American National Standard Institute) definión un estándar para (Structured Query Language) que fue posteriormente adoptado en 1987 como estándar internacional por ISO (International

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

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

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

Modificación de datos

Modificación de datos Modificación de datos Introducción Uso de transacciones Inserción de datos Eliminación de datos Actualización de datos Consideraciones acerca del rendimiento Uso de transacciones Iniciar transacciones

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

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

LENGUAJE DE MANIPULACIÓN DE DATOS

LENGUAJE DE MANIPULACIÓN DE DATOS LENGUAJE DE MANIPULACIÓN DE DATOS Las instrucciones de DML funcionan con los datos de la base de datos. Mediante estas instrucciones puede cambiarlos o recuperar información. Las instrucciones de DML incluyen:

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

Í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

Es un lenguaje de consulta estructurado establecido claramente como lenguaje de alto nivel estándar para sistemas de base de datos relacionales.

Es un lenguaje de consulta estructurado establecido claramente como lenguaje de alto nivel estándar para sistemas de base de datos relacionales. SQL (Lenguaje de Consulta Estructurado): Es un lenguaje de consulta estructurado establecido claramente como lenguaje de alto nivel estándar para sistemas de base de datos relacionales. ANSI (Instituto

Más detalles

CREACIÓN, SUPRESIÓN Y MODIFICACIÓN DE TABLAS.

CREACIÓN, SUPRESIÓN Y MODIFICACIÓN DE TABLAS. CREACIÓN, SUPRESIÓN Y MODIFICACIÓN DE TABLAS. Para crear una tabla utilizamos el lenguaje DDL. El nombre de la tabla puede tener entre 1 y 30 caracteres y no puede ser una palabra reservada de oracle y

Más detalles

Bases de Datos Relacionales

Bases de Datos Relacionales 2da. Parte Bases de Datos Relacionales Objetivos de la Clase SQL. Tipos de sentencias SQL Describir los tipos de dato que se pueden utilizar al especificar la definición de columnas. Sentencias SQL Select.

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

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

LENGUAJE DE CONSULTA ESTRUCTURADO (SQL)

LENGUAJE DE CONSULTA ESTRUCTURADO (SQL) Qué es una base de datos? Una base de datos (cuya abreviatura es BD) es una entidad en la cual se pueden almacenar datos de manera estructurada, con la menor redundancia posible. Diferentes programas y

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

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

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

ADMINISTRACIÓN DE BASE DE DATOS

ADMINISTRACIÓN DE BASE DE DATOS SQL SERVER T-SQL QUERY s es ADMINISTRADOR GRÁFICO SGBD Elementos objetos Tablas Procedimientos Triggers Funciones Usuarios Permiso Roles Contraseñas Programas DTS (Data Transfer System) Exportación e Importación

Más detalles

Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers

Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers Triggers Grupo de Ingeniería del Software y Bases de Datos Universidad de Sevilla octubre 2011 Introducción Objetivos de la práctica Conocer qué son los y para qué se utilizan Aprender a construir Consultar

Más detalles

ÍNDICE INTRODUCCIÓN...17

ÍNDICE INTRODUCCIÓN...17 ÍNDICE INTRODUCCIÓN...17 CAPÍTULO 1. ORACLE 11g Y EL GRID COMPUTING...19 1.1 CONCEPTO DE GRID COMPUTING...19 1.2 ORACLE GRID COMPUTING...20 1.2.1 Almacenamiento eficiente de la información...21 1.2.2 Utilización

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

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

Oracle Database: Introducción a SQL

Oracle Database: Introducción a SQL Oracle University Contact Us: 001-855-844-3881 Oracle Database: Introducción a SQL Duration: 5 Days What you will learn La comprensión de los conceptos básicos de las bases de datos relacionales garantiza

Más detalles

MANUAL BÁSICO DEL LENGUAJE SQL

MANUAL BÁSICO DEL LENGUAJE SQL MANUAL BÁSICO DEL LENGUAJE SQL INTRODUCCIÓN A continuación se presentan lo que son comandos DLL y DML, las clausulas, lo operadores (lógicos y de comparación), funciones de agregado, consultas, tipos de

Más detalles

Pre-Taller Gestión de Privilegios de Usuarios 2. Manipulación de Vistas 3. Creación y manipulación de Triggers (Introducción al uso de PL/pgsql)

Pre-Taller Gestión de Privilegios de Usuarios 2. Manipulación de Vistas 3. Creación y manipulación de Triggers (Introducción al uso de PL/pgsql) BASES DE DATOS Facyt-UC Pre-Taller 2 1. Gestión de Privilegios de Usuarios 2. Manipulación de Vistas 3. Creación y manipulación de Triggers (Introducción al uso de PL/pgsql) 1. Gestión de Privilegios de

Más detalles

BASE DE DATOS QUÉ ES UNA BASE DE DATOS?

BASE DE DATOS QUÉ ES UNA BASE DE DATOS? BASE DE DATOS BASE DE DATOS QUÉ ES UNA BASE DE DATOS? Una base de datos se puede definir como un conjunto de información relacionada que se encuentra agrupada ó estructurada. Actualmente la mayoría de

Más detalles

SERVICIO NACIONAL DE APRENDIZAJE SENA

SERVICIO NACIONAL DE APRENDIZAJE SENA SERVICIO NACIONAL DE APRENDIZAJE SENA GUÍA DE APRENDIZAJE SISTEMA INTEGRADO DE GESTIÓN Proceso Gestión de la Formación Profesional Integral Procedimiento Ejecución de la Formación Profesional Integral

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

8 SQL SERVER 2008 RA-MA

8 SQL SERVER 2008 RA-MA ÍNDICE Capítulo 1. Características, novedades y entorno de trabajo... 17 1.1 Novedades en SQL Server 2008... 17 1.2 Instalación de Microsoft SQL Server 2008... 19 1.3 Versiones de Microsoft SQL Server

Más detalles

m046a Curso Consultando SQL Server 2005/2008 con Transact-SQL, 15 h

m046a Curso Consultando SQL Server 2005/2008 con Transact-SQL, 15 h L1. ANSI SQL SQL, STANDS STRUCTURED QUERY LANGUAGE ANSI SQL 9 2 ESTANDARD SQL LENGUAJE DBMS RELACIONALES SQL SERVER 2005/2008, DBMS MICROSOFT TRANSACT SQL (T-SQL) LENGUAJE SQL SERVER 2005/2008 T-SQL SE

Más detalles

Maestría en Bioinformática. Bases de Datos y Sistemas de Información SQL: DDL. Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.

Maestría en Bioinformática. Bases de Datos y Sistemas de Información SQL: DDL. Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com. Maestría en Bioinformática Bases de Datos y Sistemas de Información SQL: DDL Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy Agenda SQL DDL Lenguaje SQL Sub-lenguajes Dialectos Agenda SQL DDL Esquemas

Más detalles

Diseño de bases de datos Práctica-1 Definición de datos

Diseño de bases de datos Práctica-1 Definición de datos 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 Práctica-1

Más detalles

Tema 2 Modelos de Base de Datos. Profesor Luis Gmo. Zúñiga Mendoza UMCA

Tema 2 Modelos de Base de Datos. Profesor Luis Gmo. Zúñiga Mendoza UMCA Tema 2 Modelos de Base de Datos Profesor Luis Gmo. Zúñiga Mendoza UMCA Introducción Como hemos visto la base de datos consiste en una colección de datos estructura, que finalmente permite ser accedida

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

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

Gestión de la Información Práctica 1

Gestión de la Información Práctica 1 Gestión de la Información Práctica 1 Departamento de Lenguajes y Ciencias de la Computación UNIVERSIDAD DE MÁLAGA SQL - Server SQL Server 2008 es la base datos cliente-servidor de Microsoft. Su lenguaje

Más detalles

CURSORES. Preparó: Ismael Castañeda Fuentes Fuentes: Manuales Sybase Manuales Oracle

CURSORES. Preparó: Ismael Castañeda Fuentes Fuentes: Manuales Sybase Manuales Oracle CURSORES Preparó: Ismael Castañeda Fuentes Fuentes: Manuales Sybase Manuales Oracle Cursor Un cursor es un mecanismo que sirve para procesar fila por fila los resultados de una consulta Beneficios de los

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

Vistas en InformiX Sistemas de Bases de Datos II EMT CETP A/S Leonardo Carámbula

Vistas en InformiX Sistemas de Bases de Datos II EMT CETP A/S Leonardo Carámbula Vistas en InformiX Características Una vista es una tabla virtual cuyo contenido está definido por una consulta SELECT. Al igual que una tabla real, una vista tiene: un nombre un conjunto de columnas con

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

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA ÍNDICE CAPÍTULO 1. CARACTERÍSTICAS, NOVEDADES Y ENTORNO DE TRABAJO...17 1.1 NOVEDADES EN SQL SERVER 2008 R2...17 1.2 INSTALACIÓN DE MICROSOFT SQL SERVER 2008 R2...18 1.3 VERSIONES DE MICROSOFT SQL SERVER

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

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

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

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

Asignatura: Administración de Bases de Datos

Asignatura: Administración de Bases de Datos Ingeniería Técnica en Informática Escuela Universitaria de Informática Universidad Politécnica de Madrid Asignatura: Administración de Bases de Datos Tema 3: e en Bases de Datos Pedro P. Alarcón Cavero

Más detalles

Haga clic para PostgreS cambiar el estilo

Haga clic para PostgreS cambiar el estilo Taller # 1 Uso y Manejo l Sistema Gestor Bases Datos PostgreSQL Luis García Computación ldgarc@gmail.com Contenido - Creación Tablas (Create Table...) ( Check Foreign Keys ) - Inserción Datos (Insert Into...)

Más detalles

3. El catálogo 26. Laboratorio de Bases de Datos

3. El catálogo 26. Laboratorio de Bases de Datos ÍNDICE Continuación SQL Índice 1. Continuación del SQL como DML (Lenguaje de Manipulación de Datos) 1 1.1. Inserción de datos................................. 1 1.2. Borrado de datos..................................

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

Consultas con combinaciones

Consultas con combinaciones UNIDAD 1.- PARTE 2 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES Xochitl Clemente Parra Armando Méndez Morales Consultas con combinaciones Usando combinaciones (joins), se pueden

Más detalles

m047a Curso Programando una Base de Datos SQL Server 2008, 36 h

m047a Curso Programando una Base de Datos SQL Server 2008, 36 h Creación De Índices (L32) UNA TABLA PUEDE CONTENER VARIOS ÍNDICES SQL SERVER CREA AUTOMATICÁMENTE ÍNDICES ÚNICOS PARA ASEGURAR LOS CONSTRAINTS DE PRIMARY KEY Y UNIQUE EL ÍNDICE POR DEFECTO PARA LA CLAVE

Más detalles

2- Creación de tablas y manejos de datos.

2- Creación de tablas y manejos de datos. 2- Creación de tablas y manejos de datos. Objetivos: Crear tablas completas. Identificar qué tipo de datos a usar en cada campo Recursos: SQL SERVER 2012 Guías de práctica. http://msdn.microsoft.com/es-es/library/ms187752.aspx

Más detalles

Permite definir cada relación que pertenece a la base de datos relacional, incluyendo:

Permite definir cada relación que pertenece a la base de datos relacional, incluyendo: TEMA 7.- EL ESTANDAR SQL. El Sublenguaje de Manipulación. El Sublenguaje de Definición. El Sublenguaje de Control. El Sublenguaje Huésped. 1. El Sublenguaje de Manipulación. (Se verá en la clase de problemas)

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

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

MANUAL BÁSICO DE MYSQL

MANUAL BÁSICO DE MYSQL MANUAL BÁSICO DE MYSQL ESCUELA COLOMBIANA DE INGENIERÍA JULIO GARAVITO LABORATORIO DE INFORMÁTICA BOGOTÁ D. C. 2007-2 TABLA DE CONTENIDO MANUAL BÁSICO DE MYSQL... 1 INTRODUCCIÓN... 3 1. CONECTARSE CON

Más detalles

Checks, Triggers y Excepciones en InterBase: validando desde la base de datos

Checks, Triggers y Excepciones en InterBase: validando desde la base de datos Checks, Triggers y Excepciones en InterBase: validando desde la base de datos Por Alfonso Ricaño Bringas InterBase nos permite validar los valores que ingresan a los campos, mediante las 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

Formato para prácticas de laboratorio

Formato para prácticas de laboratorio Formato para prácticas de laboratorio CARRERA PLAN DE ESTUDIO CLAVE IGNATURA NOMBRE DE LA IGNATURA LSC 2009-2 12001 Administración de Bases de Datos PRÁCTICA No. 5 LABORATORIO DE NOMBRE DE LA PRÁCTICA

Más detalles

El Sistema Gestor de Base de Datos (DBMS)

El Sistema Gestor de Base de Datos (DBMS) Pontificia Universidad Javeriana Contenido 1 Introducción 2 Evolución de los SGBD 3 Arquitectura del SGBD 4 Lenguajes de BD 5 Usuarios de la BD Introducción Se espera del SGBD (DBMS) que: 1 Permita a los

Más detalles

Concepto de vista. (con ciertas limitaciones). nivel físico) Una vista es una tabla virtual (no tiene una correspondencia a

Concepto de vista. (con ciertas limitaciones). nivel físico) Una vista es una tabla virtual (no tiene una correspondencia a 2.6.1.- Concepto de vista. Una vista es una tabla derivada de otras tablas (básicas o virtuales). Una vista se caracteriza porque: Se considera que forma parte del esquema externo. Una vista es una tabla

Más detalles

Manual Práctico de SQL. ORIENTADO A SQL 7.0 Preparado por: Alvaro E. García alvaroegarcia@ubbi.com

Manual Práctico de SQL. ORIENTADO A SQL 7.0 Preparado por: Alvaro E. García alvaroegarcia@ubbi.com ORIENTADO A SQL 7.0 Preparado por: Alvaro E. García alvaroegarcia@ubbi.com ÍNDICE INTRODUCCIÓN 3 PASOS PARA IMPLEMENTAR UNA BD 5 CREAR UNA BD 6 SENTENCIA CREATE 8 LIGADURAS 9 ELIMINACIÓN DE TABLAS 14 SENTENCIA

Más detalles

CURSO DE SQL SERVER 2005

CURSO DE SQL SERVER 2005 CURSO DE SQL SERVER 2005 Una vez finalizado el curso, el alumno estará preparado para: Instalar y configurar SQL Server 2005. Comprender los conceptos más importantes del diseño de bases de datos. Crear

Más detalles

GALA CONCEPTO COMMIT, ROOLBACK SAVEPOINTS (SAVE TRANSACTION) No Consultas. Definiciones Transacciones ( L33 )

GALA CONCEPTO COMMIT, ROOLBACK SAVEPOINTS (SAVE TRANSACTION) No Consultas. Definiciones Transacciones ( L33 ) Definiciones Transacciones ( L33 ) CONCEPTO COMMIT, ROOLBACK SAVEPOINTS (SAVE TRANSACTION) Transacciones En Microsoft ( L33 ) MANUAL (REQUIERE PROGRAMACION) AUTOMATICO (COM+ O DTM) DTM (DISTRIBUTED TRANSACTION

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

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

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

UNIVERSIDAD NACIONAL DE SAN AGUSTÍN FACULTAD DE PRODUCCIÓN Y SERVICIOS ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS LABORATORIO DE BASES DE DATOS 1

UNIVERSIDAD NACIONAL DE SAN AGUSTÍN FACULTAD DE PRODUCCIÓN Y SERVICIOS ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS LABORATORIO DE BASES DE DATOS 1 UNIVERSIDAD NACIONAL DE SAN AGUSTÍN FACULTAD DE PRODUCCIÓN Y SERVICIOS ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEM LABORATORIO DE BES DE DATOS 1 Prof. Marco Aedo Práctica de Laboratorio Nº 6 I. OBJETIVOS

Más detalles

TEMA. Sistema de Gestión de Bases de Datos. Sistemas Avanzados de Recuperación de Información (SARI) 2008-2009

TEMA. Sistema de Gestión de Bases de Datos. Sistemas Avanzados de Recuperación de Información (SARI) 2008-2009 TEMA Sistema de Gestión de Bases de Datos Sistemas Avanzados de Recuperación de Información (SARI) 2008-2009 Jorge Morato Lara Sonia Sánchez- Índice 1. Tema - Recuperación de la Información en Internet

Más detalles

Escuela : INGENIERIA INFORMATICA Y DE SISTEMAS. Docente : ING. FREDY RIVERA MONTERO

Escuela : INGENIERIA INFORMATICA Y DE SISTEMAS. Docente : ING. FREDY RIVERA MONTERO Escuela : INGENIERIA INFORMATICA Y DE SISTEMAS Docente : ING. FREDY RIVERA MONTERO Características y conceptos básicos Historia del lenguaje SQL El nacimiento del lenguaje SQL data de 1970 cuando E. F.

Más detalles

Objetos de la Base de Datos

Objetos de la Base de Datos Objetos de la Base de Datos Todos los datos de una base de datos de Microsoft SQL Server 2005/8 están contenidos en objetos llamados tablas. Cada tabla representa algún tipo de objeto con significado para

Más detalles

Sistemas de Bases de Datos II ITS / ITSB EMT CETP

Sistemas de Bases de Datos II ITS / ITSB EMT CETP Administración de Datos D. M. L. Data Manipulation Language Administración de Datos D. M. L. Data Manipulation Language Lenguaje de Manipulación de Datos. Administración de Datos Los comandos son los siguientes:

Más detalles

ORACLE 10g. Descripción A QUIEN VA DIRIGIDO?

ORACLE 10g. Descripción A QUIEN VA DIRIGIDO? ORACLE 10g Descripción A QUIEN VA DIRIGIDO? Está dirigido a estudiantes y profesionista que desee conocer la tecnología Oracle, así como realizar extracción de datos, creación de objetos y administración

Más detalles

FIREBIRD: LENGUAJE DE DEFINICIÓN DE DATOS

FIREBIRD: LENGUAJE DE DEFINICIÓN DE DATOS FIREBIRD: LENGUAJE DE DEFINICIÓN DE DATOS FIREBIRD: LENGUAJE DE DEFINICIÓN DE DATOS 1.- INTRODUCCIÓN...1 2.- BASE DE DATOS (DATABASE)...2 3.- DOMINIOS (DOMAIN)...4 4.- TABLAS (TABLE)...6 5.- INDICES (INDEX)...15

Más detalles

ÍNDICE INTRODUCCIÓN...13

ÍNDICE INTRODUCCIÓN...13 ÍNDICE INTRODUCCIÓN...13 CAPÍTULO 1. EL MODELO RELACIONAL. LENGUAJE SQL...17 1.1 INTRODUCCIÓN AL MODELO RELACIONAL...17 1.2 RELACIONES...19 1.2.1 Definición formal de relación...21 1.2.2 Propiedades y

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

Índice. iii. Objetivos... 24

Índice. iii. Objetivos... 24 Índice Objetivos... 2 1: Modelación de base de datos... 2 2: Ejemplo de un caso de negocios... 3 2.1: Requerimientos de la aplicación... 4 2.2: Características de flujo de información... 4 2.3: Diagrama

Más detalles

EJERCICIOS DE CONSULTAS SQL

EJERCICIOS DE CONSULTAS SQL Profesor: Ing. Christian Ovalle 1.-Realizar todo las sentencias en SQL EJERCICIOS DE CONSULTAS SQL 2.-Guardar en formato TXT y enviar al correo del profesor: vbnetperu@gmail.com Creamos la base de datos

Más detalles

Bases de Datos. Diseño y Programación Avanzada de Aplicaciones. Curso

Bases de Datos. Diseño y Programación Avanzada de Aplicaciones. Curso Bases de Datos Diseño y Programación Avanzada de Aplicaciones Curso 2002-2003 INDICE Fichero vs. Bases de Datos Relacionales Un fichero constituye la forma más básica de almacenamiento de información.

Más detalles

UNIVERSIDAD DEL ISTMO CAMPUS IXTEPEC LIC. INFORMATICA GRUPO 508 PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000

UNIVERSIDAD DEL ISTMO CAMPUS IXTEPEC LIC. INFORMATICA GRUPO 508 PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000 PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000 Creación de la base de Datos Pulsamos F5 para Actualizar, y una vez posicionados en nuestra base de datos,se crean los scripts que seran soportados por el

Más detalles

GUIA DE SQL DDL (DATA DEFINITION LANGUAGE) DML (DATA MANIPULATION LANGUAGE) Agosto de 2008 AUTORES:

GUIA DE SQL DDL (DATA DEFINITION LANGUAGE) DML (DATA MANIPULATION LANGUAGE) Agosto de 2008 AUTORES: GUIA DE SQL DDL (DATA DEFINITION LANGUAGE) DML (DATA MANIPULATION LANGUAGE) Agosto de 2008 AUTORES: Ernesto Chinkes Diego Alarcon Regolini Lucas Coronel Diego Hernan Contreras Ocampo Ernesto Goldman GUIA

Más detalles

Introducción a Transact-SQL

Introducción a Transact-SQL Introducción a Transact-SQL Introducción E lenguaje de programación Transact-SQL Tipos de instrucciones de Transact-SQL Elementos de la sintaxis de Transact-SQL El lenguaje de programación Transact-SQL

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

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