Académique Documents
Professionnel Documents
Culture Documents
FACILITADOR:
EMPRENDENDOR:
ING. EDGARDO MOLINA
LUZMARY RODRIGUEZ
BASE DE DATOS.
5to ING.SISTEMA
Mayo, 2016
Estructura Interna
Como ya vimos el en el primer tema, las bases de datos de SQL Server
2005 utilizan tres tipos de archivos:
CREATE DATABASE
CREATE DATABASE nbBasedeDatos
[ ON
[PRIMARY ] [ <esp_fichero> [ ,...n ]
[ , <grupo> [ ,...n ] ]
[ LOG ON {
]
[ COLLATE nbintercalacion]
[ WITH <external_access_option> ]
]
[;]
Como vemos la instruccin mnima es:
CREATE DATABASE nbBasedeDatos
nbBasedeDatos: Es el nombre de la nueva base de datos. Los nombres de base de
datos deben ser nicos en una instancia de SQL Server y cumplir las reglas de los
identificadores. Puede tener 128 caracteres como mximo, excepto en un caso que
veremos ms adelante.
Con la clusula ON especificamos los ficheros utilizados para almacenar los archivos
de datos.
[ ON
[ PRIMARY ] [
<esp_fichero> [ ,...n ]
[ , <grupo> [ ,...n ] ]
<esp_fichero> ::=
(
NAME = nbfichero_logico ,
FILENAME = 'nbfichero_fisico'
[ , SIZE = tamao [ KB | MB | GB | TB ] ]
]
| % ]
Donde se sustituye la palabra columna por el nombre del campo a consultar y la palabra tabla
por el nombre de la tabla que contiene el campo mencionado.
Insert
La estructura bsica para la sentencia insert utilizando el estndar de SQL es la siguiente:
Insert into usuario (nombre, apellidos, edad, carrera) values ("Martn", "Bastida Godnez",
"23", "Ingeniera en TI");
Tomando como ejemplo si se tuviera una tabla llamada usuarios con los campos de tipo cadena
de caracteres (nombre, apellidos, edad, carrera), donde se inserta los valores que se
encuentran en despus de la palabra values, los valores se insertan en el orden
correspondiente a como se hizo la llamada de los campos, los valores van separados por
comas, las comillas dobles indican que se est insertando datos de tipo cadena de caracteres.
Delete
Para eliminar los registros de una tabla usamos el comando "delete":
La ejecucin del comando indicado en la lnea anterior borra TODOS los registros de la tabla.
Si queremos eliminar uno o varios registros debemos indicar cul o cules, para ello utilizamos
el comando "delete" junto con la clausula "where" con la cual establecemos la condicin que
deben cumplir los registros a borrar. Por ejemplo, queremos eliminar aquel registro cuyo
nombre de usuario es 'Martn':
Si solicitamos el borrado de un registro que no existe, es decir, ningn registro cumple con la
condicin especificada, no se borrarn registros, pues no encontr registros con ese dato.
Update
Para modificar uno o varios datos de uno o varios registros utilizamos "update" (actualizar).
Por ejemplo, en nuestra tabla "usuarios", queremos cambiar los valores de todas las claves, por
"RealMadrid":
Utilizamos "update" junto al nombre de la tabla y "set" junto con el campo a modificar y su
nuevo valor.
El cambio afectar a todos los registros.
Podemos modificar algunos registros, para ello debemos establecer condiciones de seleccin
con "where".
Por ejemplo, queremos cambiar el valor correspondiente a la clave de nuestro usuario llamado
'Martn', queremos como nueva clave 'Boca', necesitamos una condicin "where" que afecte
solamente a este registro:
Si no encuentra registros que cumplan con la condicin del "where", ningn registro es
afectado.
Las condiciones no son obligatorias, pero si omitimos la clusula "where", la actualizacin
afectar a todos los registros.
Tambin se puede actualizar varios campos en una sola instruccin:
Para ello colocamos "update", el nombre de la tabla, "set" junto al nombre del campo y el
nuevo valor y separado por coma, el otro nombre del campo con su nuevo valor.
SQL
SQL (por sus siglas en ingls Structured Query Language) es un lenguaje declarativo de
acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en
ellas. Una de sus caractersticas es el manejo del lgebra y el clculo relacional que permiten
efectuar consultas con el fin de recuperar, de forma sencilla, informacin de bases de datos, as
como hacer cambios en ellas.
Los orgenes de SQL estn ligados a los de las bases de datos relacionales. En 1970 E. F.
Codd propone el modelo relacional y asociado a este un sublenguaje de acceso a
los datos basado en el clculo de predicados. Basndose en estas ideas, los laboratorios
de IBM definieron el lenguaje SEQUEL (Structured English Query Language) que ms tarde fue
ampliamente implementado por el sistema de gestin de bases de datos (SGBD) experimental
System R, desarrollado en 1977 tambin por IBM. Sin embargo, fue Oracle quien lo introdujo
por primera vez en 1979 en un producto comercial.
El SEQUEL termin siendo el predecesor de SQL, que es una versin evolucionada del
primero. SQL pasa a ser el lenguaje por excelencia de los diversos sistemas de gestin de
bases de datos relacionales surgidos en los aos siguientes y fue por fin estandarizado en
1986 por el ANSI, dando lugar a la primera versin estndar de este lenguaje, "SQL-86" o
"SQL1". Al ao siguiente este estndar es tambin adoptado por ISO.
Sin embargo, este primer estndar no cubra todas las necesidades de los desarrolladores e
inclua funcionalidades de definicin de almacenamiento que se consider suprimirlas. As que,
en 1992, se lanz un nuevo estndar ampliado y revisado de SQL llamado "SQL-92" o "SQL2".
Alias
SQL-87
1989 SQL-89
1992 SQL-92
Comentarios
Primera publicacin hecha por ANSI. Confirmada por ISO en 1987.
Revisin menor.
SQL2
Revisin mayor.
2005 SQL:2005
2008 SQL:2008
SQL es un lenguaje de acceso a bases de datos que explota la flexibilidad y potencia de los
sistemas relacionales y permite as gran variedad de operaciones. 4
Es un lenguaje declarativo de "alto nivel" o "de no procedimiento" que, gracias a su fuerte base
terica y su orientacin al manejo de conjuntos de registros y no a registros individuales
permite una alta productividad en codificacin y la orientacin a objetos. De esta forma, una
sola sentencia puede equivaler a uno o ms programas que se utilizaran en un lenguaje de
bajo nivel orientado a registros. SQL tambin tiene las siguientes caractersticas:
Autorizacin: El LDD incluye comandos para especificar los derechos de acceso a las
relaciones y a las vistas.
Tipos de Datos
Algunos de los tipos de datos bsicos de SQL son:
Date: una fecha de calendario que contiene el ao (de cuatro cifras), el mes y el da.
Time: La hora del da en horas minutos segundos (el valor predeterminado es 0).
Optimizacin]
Como ya se dijo antes, y suele ser comn en los lenguajes de acceso a bases de datos de alto
nivel, SQL es un lenguaje declarativo. O sea, que especifica qu es lo que se quiere y no cmo
conseguirlo, por lo que una sentencia no establece explcitamente un orden de ejecucin.
El orden de ejecucin interno de una sentencia puede afectar seriamente a la eficiencia del
SGBD, por lo que se hace necesario que ste lleve a cabo una optimizacin antes de su
ejecucin. Muchas veces, el uso de ndices acelera una instruccin de consulta, pero ralentiza
la actualizacin de los datos. Dependiendo del uso de la aplicacin, se priorizar el acceso
indexado o una rpida actualizacin de la informacin. La optimizacin difiere sensiblemente en
cada motor de base de datos y depende de muchos factores.
Existe una ampliacin de SQL conocida como FSQL (Fuzzy SQL, SQL difuso) que permite el
acceso a bases de datos difusas, usando la lgica difusa. Este lenguaje ha sido implementado
a nivel experimental y est evolucionando rpidamente.
Tipos de Datos
Algunos de los tipos de datos bsicos de SQL son:
Date: una fecha de calendario que contiene el ao (de cuatro cifras), el mes y el
da.
Time: La hora del da en horas minutos segundos (el valor predeterminado es 0).
Optimizacin
Como ya se dijo antes, y suele ser comn en los lenguajes de acceso a bases de datos de alto
nivel, SQL es un lenguaje declarativo. O sea, que especifica qu es lo que se quiere y no cmo
conseguirlo, por lo que una sentencia no establece explcitamente un orden de ejecucin.
El orden de ejecucin interno de una sentencia puede afectar seriamente a la eficiencia del
SGBD, por lo que se hace necesario que ste lleve a cabo una optimizacin antes de su
ejecucin. Muchas veces, el uso de ndices acelera una instruccin de consulta, pero ralentiza
la actualizacin de los datos. Dependiendo del uso de la aplicacin, se priorizar el acceso
indexado o una rpida actualizacin de la informacin. La optimizacin difiere sensiblemente en
cada motor de base de datos y depende de muchos factores.
Existe una ampliacin de SQL conocida como FSQL (Fuzzy SQL, SQL difuso) que permite el
acceso a bases de datos difusas, usando la lgica difusa. Este lenguaje ha sido implementado
a nivel experimental y est evolucionando rpidamente.
una instruccin SELECT estndar de SQL: SELECT, FROM, WHERE, GROUP BY, HAVING y
ORDER BY.
mbito
Los nombres que se definen en la clusula FROM se incluyen en el mbito de FROM en orden
de aparicin, de izquierda a derecha. En la lista de JOIN, las expresiones pueden hacer
referencia a los nombres que se definieron en la lista anteriormente. Las propiedades pblicas
de los elementos identificados en la clusula FROM no se agregan al mbito de FROM.
Siempre se debe hacer referencia a ellas mediante el nombre completo del alias. Normalmente,
todas las partes de la expresin SELECT se consideran dentro del mbito de FROM.
El tipo de datos espacial plano geometry representa los datos en un sistema de coordenadas
euclidiano (plano). Implementan este tipo como un tipo de datos en SQL Server de Common
Language Runtime (CLR).
El tipo geometry est predefinido y est disponible en cada base de datos. Puede crear
columnas de tabla de tipo geometry y operar con los datos geometry de la misma manera que
con los dems tipos CLR.
El tipo de datos geometry (plano) admitido por SQL Server cumple con las caractersticas
simples de Geospatial Consortium (OGC) para la especificacin SQL versin 1.1.0.
Para obtener ms informaciones de OGC, vea lo siguiente:
SQL Server admite un subconjunto del estndar GML 3.1 existente que se define en el
esquema siguiente: g tag is not supported!!!!
Las bases de datos son una alternativa a los archivos shapes, las cuales tienen mejor
consistencia en el almacenamiento de datos ya que pueden tener ms restricciones, como
verificar geometra, proyeccin, bounding box, etc. Es por ello que en este post se pretende dar
una introduccin sobre como crear tablas que contengan datos espaciales. En este ejemplo se
crear una tabla denominada polgono que contendr un nombre, rea y permetro.
Primero necesitamos abrir PgAdmin, debemos crear una base de datos con las funciones
espaciales de PostGIS de lo contrario no se podrn ejecutar algunas funciones. Una vez
creada la base de datos hay que cargar la ventana de ejecutar script. Iniciamos con las
sentencias del leguanje SQL para la creacin de la tabla, para ejecutar este script presionamos
F5. El script nos debe quedar de la siguiente forma:
Ntese que todava no se ha agregado el campo de geometra, estn nicamente los campos
alfanumricos. Para agregar el campo de geometra utilizamos una funcion de PostGIS
denominada AddGeometryColumn. La cual tendremos que mandarle el parmetro de esquema,
tabla, campo geomtrico, SRID, tipo de geometra, y nmero de dimensiones. Todo lo anterior
se traduce en:
Por ltimo podremos ver un ejemplo en script de como qued la estructura de la tabla
geogrfica.