ESTRUCTURA INTERNA DE UNA BASE DE DATOS
Antes de empezar tenemos que
tener claro cómo se organiza la información en una base de datos SQL Server
2005.
Las bases de datos de SQL Server
2005 utilizan tres tipos de archivos:
Archivos de datos principales
En una base de datos SQLServer
los datos se pueden repartir en varios archivos para mejorar el rendimiento de
la base de datos.
El archivo de datos principal es
el punto de partida de la base de datos y apunta a los otros archivos de datos
de la base de datos. Cada base de datos tiene obligatoriamente un archivo de
datos principal. La extensión recomendada para los nombres de archivos de datos
principales es .mdf.
Archivos de datos secundarios
Los archivos de datos secundarios
son todos los archivos de datos menos el archivo de datos principal. Puede que
algunas bases de datos no tengan archivos de datos secundarios, mientras que
otras pueden tener varios archivos de datos secundarios. La extensión de nombre
de archivo recomendada para los archivos de datos secundarios es .ndf.
Además los archivos de datos se
pueden agrupar en grupos de archivos. Para cada base de datos pueden
especificarse hasta 32.767 archivos y 32.767 grupos de archivos.
Archivos de registro
Los archivos de registro
(archivos de log) almacenan toda la información de registro que se utiliza para
recuperar la base de datos, el también denominado registro de transacciones.
Como mínimo, tiene que haber un archivo de registro por cada base de datos,
aunque puede haber varios. La extensión recomendada para los nombres de
archivos de registro es .ldf.
SQL Server 2005 no exige las
extensiones de nombre de archivo .mdf, .ndf y .ldf, pero estas extensiones
ayudan a identificar las distintas clases de archivos y su uso.
Cada base de datos tiene al menos
2 archivos (un archivo de datos principal y un archivo de registro) y
opcionalmente un grupo de archivos.
Los archivos de datos y de
registro de SQL Server se pueden colocar en sistemas de archivos FAT o NTFS. Se
recomienda utilizar NTFS por los aspectos de seguridad que ofrece. No se pueden
colocar grupos de archivos de datos de lectura y escritura, y archivos de
registro, en un sistema de archivos NTFS comprimido. Sólo las bases de datos de
sólo lectura y los grupos de archivos secundarios de sólo lectura se pueden
colocar en un sistema de archivos NTFS comprimido.
Crear una base de datos en SSMS
En el Explorador de objetos, si
desplegamos la carpeta Bases de datos nos aparecen Bases de datos del sistema y
las bases de datos de usuario después de la carpeta Instantáneas...
Después de la instalación, en la
carpeta Bases de datos del sistema se habrá creado una especial denominada
master se utiliza como base de datos de usuario por defecto.
Las demás bases de datos forman
también parte del diccionario de datos y las utiliza el sistema para llevar a
cabo su gestión.
Las bases de datos de los
usuarios se deben crear preferentemente fuera de la carpeta Bases de datos del
sistema.
El entorno gráfico SSMS (III)
Para crear una nueva base de datos de usuario nos
posicionamos sobre la carpeta Bases de datos y con el botón derecho del ratón
desplegamos el menú contextual del que elegimos la opción Nueva base de datos
Se
abre a continuación el cuadro de diálogo donde definiremos la base de datos que
queremos crear:
Lo mínimo a introducir será el
campo Nombre de la base de datos, éste es el nombre de la base de datos lógica,
la base de datos a la que nos referiremos dentro del SSMS, a nivel conceptual (en
la imagen Mibase).
Esta base de datos está asociada
a dos archivos físicos, en la parte inferior aparecen esos archivos. Para
facilitarnos la tarea, al teclear el nombre de la bd lógica, se rellenan
automáticamente los nombres de los archivos físicos, el de datos con el mismo
nombre y el del archivo de registro con el mismo nombre seguido de _log. Estos
nombres son los nombres que se asumen por defecto pero los podemos cambiar,
posicionando el cursor en el nombre y cambiándolo.
Para cada archivo físico podemos
definir una serie de parámetros como el tipo de archivo (si es de datos o de
transacciones Registro) y su ocupación inicial (Tamaño inicial).
Si no indicamos ninguna ubicación
podemos ver que los guarda en la carpeta del SQL Server/MSSQL.n/MSSQL/DATA.
n representa un número que puede
variar de una instalación a otra.
Estos son los archivos mínimos en
los que se almacenará la base de datos, pero como ya vimos anteriormente se
puede almacenar en más archivos, los tenemos que definir todos en esta ventana
a continuación de los dos obligatorios.
Para añadir más archivos físicos
disponemos del botón Agregar.
Al pulsar el botón Agregar se
crea una nueva fila en la tabla de archivos físicos donde deberemos escribir el
nombre del archivo, su tipo (desplegando la lista podemos elegir entre de datos
o de registro) y demás parámetros.
Al agregar un nuevo archivo se
activa el botón Quitar, siempre que estemos posicionados encima de un archivo
secundario para poder así eliminarlo si lo queremos.
No podemos eliminar ni el de
datos primario, ni el de registro inicial.
El entorno gráfico SSMS (IV)
Si nos fijamos en la zona de la
izquierda, vemos que nos encontramos en la pestaña General, podemos cambiar
otros parámetros de la base de datos pulsando en Grupos de archivos o en
Opciones:
Al
final pulsamos en Aceptar y se creará la base de datos.
Aparecerá dentro de la carpeta
Bases de datos. Si no se ve pulsa en el icono Actualizar .
Desde el Explorador de Windows
podemos ver que en la carpeta indicada se han creado los archivos físicos con
los nombres que le hemos indicado.
Configuración de controles de acceso
Creación modificación y eliminación de usuarios:
Conceptos básicos de la seguridad
por usuarios
La seguridad por usuarios en
Access es similar a los mecanismos de seguridad de los sistemas basados en
servidor: usa contraseñas y permisos para permitir o restringir el acceso de
personas o grupos de personas a los objetos de la base de datos. En Access 2003
o en versiones anteriores, cuando se implementa la seguridad por usuarios en
una base de datos de Access, un administrador de base de datos o el propietario
de un objeto pueden controlar las acciones que los usuarios individuales o
grupos de usuarios pueden realizar en las tablas, consultas, formularios,
informes y macros de la base de datos. Por ejemplo, un grupo de usuarios puede
cambiar los objetos de una base de datos, otro grupo solo puede incluir datos
en determinadas tablas y un tercer grupo solo puede ver los datos de un
conjunto de informes.
Definición de roles y perfiles
Roles
Los roles son conjuntos de
privilegios. Un rol puede tener garantizados una serie de privilegios tanto del
sistema como sobre objetos, y a la vez puede tener garantizado otros roles.
Por defecto cuando creamos un
usuario desde el Enterprise Manager se le asigna el permiso de Connect, lo que
permite al usuario conectarse a la BD y crear sus propios objetos en su propio
esquema. De otra manera, debemos asignarlos en forma manual.
Sintaxis para crear un Rol y
asignarlo a un usuario:
SQL> CREATE ROLE appl_dba;
Opcionalmente, se puede asignar
una clave al Rol:
SQL> SET ROLE appl_dba IDENTIFIED BY
app_pwd;
Para asignar este Rol a un
usuario:
SQL> GRANT appl_dba TO jperez;
Otro uso común de los roles es
asignarles privilegios a nivel de Objetos, por ejemplo en una Tabla de Facturas
en donde sólo queremos que se puedan hacer Querys e Inserts:
SQL> CREATE ROLE consulta;
SQL> GRANT SELECT, INSERT onanalista.factura
TO consulta;
Perfiles
Los perfiles permiten definir
limitaciones de recursos. Por ejemplo podemos definir un perfil que limite el
número de sesiones abiertas concurrentemente por un usuario cualquiera, y
posteriormente aplicar este perfil a uno o más usuarios concretos.
ESQUEMA BÁSICO DE SEGURIDAD |
ASIGNACIÓN DE PRIVILEGIOS A USUARIOS EN EL SISTEMA GESTOR Y EN LA BASE DE
DATOS
Gestor de base de datos
Definición: Son un tipo de software muy específico, dedicado a
servir de interfaz entre la base de datos, el usuario y las aplicaciones que la
utilizan.
Características: Es un conjunto de programas que permiten crear y
mantener una base de datos, asegurando su integridad, confidencialidad y
seguridad.
Las características del sistema gestor de base de datos son:
1. Abstracción de la información.
Ahorran a los usuarios detalles acerca del almacenamiento físico de los datos.
2. Independencia. La
independencia de los datos consiste en la capacidad de modificar el esquema
(físico o lógico) de una base de datos sin tener que realizar cambios en las
aplicaciones que se sirven de ella.
3. Redundancia mínima. Un buen
diseño de una base de datos logrará evitar la aparición de información repetida
o redundante.
4. Consistencia. Vigilar que
aquella información que aparece repetida se actualice de forma coherente, es
decir, que todos los datos repetidos se actualicen de forma simultánea.
5. Seguridad. Deben garantizar
que esta información se encuentra asegurada frente a usuarios malintencionados.
6. Integridad. Se trata de
adoptar las medidas necesarias para garantizar la validez de los datos
almacenados.
7. Respaldo y recuperación. Deben
proporcionar una forma eficiente de realizar copias de respaldo de la
información almacenada en ellos.
8. Control de la concurrencia. Lo
más habitual es que sean muchas las personas que acceden a una base de datos;
ésta debe controlar este acceso concurrente a la información, que podría
derivar en inconsistencias.
Herramientas
Una de las principales
herramientas que existen dentro de los gestores de base de datos, es la
administración de usuarios, privilegios y funciones de contraseñas de usuarios
y el establecimiento de límites de recursos de la base de datos.
De creación de base de datos
Los SGBD, tienen en su estructura
editores de textos, que permiten la creación de la arquitectura de la base de
datos. Así se pueden crear bases de datos, tablas a través del lenguaje de
definición de datos (DDL).
También es utilizado para alterar
o borrar objetos, tales como esquemas, tablas, columnas, vistas y secuencias.
Como por ejemplo, en SQL, son las instrucciones o comandos: create, alter y
drop.
El administrador de la base de datos
Es una persona o grupo de
personas responsables del control del sistema gestor de base de datos.
Las principales tareas de un
administrador son:
1. La definición del esquema lógico y físico
de la base de datos.
2. La definición de las vistas de usuario.
3. La asignación y edición de permisos para
los usuarios.
4. Mantenimiento y seguimiento de la
seguridad en la base de datos.
5. Mantenimiento general del sistema gestor
de base de datos.
Edición para crear esquemas y consultas de BD
Existen diferentes modelos de
datos, tales como jerárquico, red, entidad, relación, etc. Los SGBD, en su
mayoría, están basados en el modelo relacional. Cada uno de ellos se
caracteriza por tener diferentes formas en su esquema, así por ejemplo, el
jerárquico tiene una estructura de árbol, la cual en su esquema lo establece
por círculos relacionados con líneas que unen un círculo o estructura de datos
con la otra.
Un esquema está conformado por
instancias, las cuales, son como un conjunto de datos que conforman una entidad
u objeto, en el cual, se advierten sus características de estos datos, como
son: tamaño, valores que puede tomar y que representa gráfica y simbólicamente
cosas inmateriales.
El esquema general se conforma de
tres modelos:
1. Conceptual. El que establece las
restricciones del problema real; su representación es a través de reglas de
negocios o supuestos.
2. Lógico. El cual establece las relaciones
entre una entidad u objeto y otra, además de definir los atributos o instancias
que pertenecen a cada entidad.
3. Interno o físico. Establece la forma de
almacenamiento de la base de datos. En estos dos últimos modelos se basan los
SGBD.
Creación
Para crear una base se deben
realizar dos ejercicios de diseño: un diseño lógico y uno físico. El diseño
lógico de una base de datos es un modelo abstracto de la base de datos desde
una perspectiva de negocios, mientras que el diseño físico muestra como la base
de datos se ordena en realidad en los dispositivos de almacenamiento de acceso
directo. El diseño físico de la base de datos es llevado a cabo por los
especialistas en bases de datos, mientras que el diseño lógico requiere de una
descripción detallada de las necesidades de información del negocio de los
negocios actuales usuarios finales de la base. Idealmente, el diseño de la base
será una parte del esfuerzo global de la planeación de datos a nivel
institucional.
El diseño lógico de la base de
datos describe como los elementos en la base de datos han de quedar agrupados.
El proceso de diseño identifica
las relaciones entre los elementos de datos y la manera más eficiente de
agruparlos para cumplir con los requerimientos de información. El proceso
también identifica elementos redundantes y los agrupamientos de los elementos
de datos que se requieren para programas de aplicaciones específicos. Los
grupos de datos son organizados, refinados y agilizados hasta que una imagen
lógica general de las relaciones entre todos los elementos en la base de datos
surja.
Bases de datos documentales:
Son las derivada de la necesidad
de disponer de toda la información en el puesto de trabajo y de minimizar los
tiempos del acceso a aquellas informaciones que, si bien se utilizan con
frecuencia, no están estructuradas convenientemente . Esto se debe a que ala
procedencia de la información es muy variada (informes, notas diversas,
periódicos, revistas, muchos más.
Bases de datos distribuidas:
Es aquella que se almacena en más
de un lugar físico. Partes de la base de datos se almacena físicamente en un
lugar y otras partes se almacenan y mantienen en otros lugares. Existen dos
maneras de distribuir una base de datos. La base de datos central puede ser particionada
de manera que cada procesador remoto tenga los datos necesarios sobre los
clientes para servir a su área local. Los cambios en los archivos pueden ser
justificado en la base de datos central sobre las bases de lotes, en general
por la noche. Otra estrategia también requiere de la actualización de la base
central de datos en hojas no laborables.
Aun otra posibilidad (una que se
emplea en bases de datos grandes) es mantener solo un índice central de nombres
y almacenar localmente los registros completos.
El procesamiento distribuidos y
las bases de datos distribuidas tienen como beneficios e inconvenientes. Los
sistemas
distribuidos reducen la
vulnerabilidad de un lugar único central y voluminoso. Permiten incremento en
la potencia de los sistemas al adquirir mini computadoras que son más pequeñas
y baratas. Finalmente incrementan el servicio y la posibilidad de respuesta de
los usuarios locales. Los sistemas distribuidos, sin embargo, dependen de la
alta calidad de las líneas de telecomunicaciones, las cuales a su vez son
vulnerables. Además, las bases de datos locales pueden algunas veces alejarse
de las normas y las definiciones de los datos centrales y hacen surgir
problemas de seguridad al distribuir ampliamente el acceso a datos de alta
sensibilidad.
Bases de datos orientadas a objetos e hipermedia:
Estas son capaces de almacenar
tanto procesos como datos. Por este motivo las bases orientadas al objeto deben
poder almacenar información no convencional (como imágenes estáticas o en
movimiento, colecciones de sonidos, entre otros). Este tipo de bases de datos
deriva directamente de la llamada programación orientada a objetos, típica por
ejemplo del lenguaje C/C++.
Entre las ventajas de las bases
de datos orientadas al objeto destaca la posibilidad de tratar los casos
excepcionales, que suelen ser la mayoría en la práctica cotidiana, en lugar de
tratar de insertar la realidad en unos patrones rígidos que violentan para
hacerla coincidir con los esquemas utilizados. Además, nadie pone en duda que
es más cómodo manejar objetos de entorno que no es familiar, que trabaja, por
ejemplo, con tablas, esquemas, cuadros,
Tipos de respaldo
El respaldo de información es un
proceso muy importante que debe de tener cada empresa este debe de realizarce
en sus computadora, sea un equipo portátil o un equipo de escritorio. El contar
con respaldos permite al usuario en algún momento dado recuperar información
que haya sido dañada por virus, fallas en el equipo o por accidentes.
su último respaldo y por tanto se
puede saltar esta vez. Por otro lado, si la fecha de modificación es más
reciente, el archivo ha sido modificado y se debería copiar. Los respaldos
incrementales son utilizados en conjunto con respaldos regulares completos (por
ejemplo, un respaldo semanal completo, con respaldos incrementales diarios).
Incrementales
Los respaldos incrementales
primero revisan para ver si la fecha de modificación de un archivo es más
reciente que la fecha de su último respaldo. Si no lo es, significa que el
archivo no ha sido modificado desde
Completos.
Un respaldo completo es un respaldo donde cada
archivo es escrito a la media de respaldo. Si los datos a respaldar nunca
cambian, cada respaldo completo creado será una copia de exactamente lo mismo.
Respaldos manuales y automatizados.
El RLOPD define la copia de
respaldo como una copia de los datos de un fichero automatizado en un soporte
que posibilite su recuperación. Además obliga a documentar procedimientos tanto
para la realización de copias de respaldo como para la recuperación de los
datos en los ficheros o tratamientos automatizados que garanticen su
reconstrucción.
Un procedimiento de copias de
seguridad deberá existir por escrito, estar accesible y puesto en conocimiento
de todos aquellos a quienes pueda afectar almacenando, si fuera necesario, una
copia fuera de las instalaciones donde se encuentran los sistemas.
Este tipo de procedimientos podría contener información sobre:
• Responsable del backup: Persona
encargada de realizar las copias de seguridad (si se hicieran de forma manual)
y de revisarlas según la planificación establecida. Esta tarea podría
externalizarse a un tercero (ej. empresa de servicios informáticos). Se nombrará
a un delegado que se encargará de las copias de respaldo en ausencia del
responsable (vacaciones, bajas, etc). Tanto el responsable como el delegado
deberían estar claramente identificados y localizables en caso de incidencia
urgente fuera del horario laboral (ej. teléfono móvil).
• Formación: Plan de formación
tanto para el responsable como para el delegado de forma que estén
familiarizados con los procedimientos.
• Clasificación de la
información. Por ejemplo en función de su importancia (crítica, importante o
baja), en función de la sensibilidad de los datos de carácter personal tratados
(alta, media, baja), etc. Esto nos permitirá considerar si las copias deben
estar comprimidas, protegidas con contraseñas, o incluso cifradas.
• Naturaleza de la información:
Análisis de lo que se va a copiar de nuestros sistemas. ¿Qué tipo de
información se va a copiar? Completo (clonación o imagen), Sistema (registros,
configuración), aplicaciones, bases de datos, documentos, etc. En función de la
naturaleza de la información será necesario tomar decisiones como por ejemplo
el tipo de software de backup a utilizar para que permita "copias en
caliente".
• Volumen de información:
Disponer de una estimación de la cantidad de datos a copiar. Esto será
necesario para tener en cuenta por ejemplo que estrategia de copias utilizar,
el tipo de soportes para realizar las copias o incluso estimar el tiempo
necesario para realizar la copia.
• Programación: La copia de
respaldo se puede hacer de forma manual o automatizada y se debe tener en
cuenta especialmente la hora elegida para hacerlas, prefiriendo las de menor
actividad para reducir molestias a los usuarios (ya que no deberían estar
trabajando mientras se hacen las copias). Ej. Horario nocturno.
• Periodicidad/Frecuencia: La
periodicidad calendárica es más sencilla de comprender y gestionar (diaria,
semanal, mensual, anual). La frecuencia de las copias dependerá de los cambios
producidos en la información y serán al menos semanales salvo que no se hayan
producido modificaciones.
• Tipo de backup: En función de
la cantidad de información a copiar el backup puede ser Completo (toda),
incremental (sólo se copian los ficheros modificados o creados desde la última
copia incremental) o diferencial (copia los ficheros modificados desde la
última copia completa). La incremental necesita menos espacio pero es más
complicada de restaurar que la diferencial.
• Localización/Almacenamiento: En
función de la situación de las copias estas podrían ser locales si los soportes
se almacenan en las mismas instalaciones en las que se encuentra el sistema de
información, externas si se almacenan en un lugar diferente y remotas que
serían aquellas realizadas por internet y almacenadas en servidores externos.
Los almacenamientos locales deberían contar con la máxima seguridad física por
ejemplo mediante el uso de armarios ignífugos bajo llave y en las correctas
condiciones ambientales.
• Soporte: Es el objeto físico
que almacena o contiene datos o documentos, u objeto susceptible de ser tratado
en un sistema de información y sobre el cual se pueden grabar y recuperar
datos. En casos automatizados disponemos de los discos zip, CD/DVD, cintas,
unidades nas/san (con raid), discos externos, pendrives, etc. Se debe elegir el
tipo de soporte de almacenamiento que mejor se adapte a las necesidades de la
organización. También comentar que los soportes deben estar inventariados,
correctamente identificados, y si fuera necesario disponer de un registro de
E/S de los mismos.
• Estrategia: Puede ser
permanente o mediante la rotación de los soportes. Mientras más sencillo sea el
esquema estratégico, más fácil de mantener. Una habitual puede ser por ejemplo
la de Abuelo-Padre-Hijo con 6 cintas (4 cintas para copias incrementales
durante la semana de lunes a jueves, 1 cinta para las copias completas los
viernes, y la última para la copia completa mensual).
• Software: La herramienta
utilizada para realizar las copias debe soportar las características que se
hayan planificado en función de las necesidades de la empresa. Las copias se
pueden programar con tareas mediante scripts de línea de comandos, o con un
software específico bien gratuito como Cobian, o syncback o invertir en
sistemas de copias como Symantec BackupExec, antes Veritas.
• Pre-tareas: Acciones a realizar
antes de realizar la copia de respaldo. Ej. cerrar aplicaciones para una
correcta copia.
• Pos-tareas: Acciones a realizar
al finalizar la copia de respaldo. Ej. apagar los equipos o volver a iniciar un
servicio.
• Origen: ¿Dónde se encuentra la
información a copiar (maquina/ruta)? ¿Previsión de crecimiento?.
• Destino: ¿En que soporte o
máquina/ruta se harán las copias?
• Control de copias/Supervisión:
Es IMPORTANTÍSIMO verificar la correcta realización de las copias. Revisar
logs, los soportes, y realizar pruebas de integridad de la información copiada
es una parte fundamental del procedimiento. No hay nada peor que pensar que las
copias de seguridad se están realizando correctamente y llevarnos una sorpresa
desagradable al encontrar fallos en la restauración.
Lectura
Luego de haber perdido algunos
días tratando de instalar SQL Server 2005 en Windows Vista, me comentaron que
las versiones SQL Server 2005 no son compatibles con este Sistema operativo y
bueno al final de todo logre instalar por lo menos el motor aunque no se
instalo con todas las herramienas (Reporting Services, Analisis Service etc) y
bueno le instale el Management Studio para las versiones Express de SQL, en fin
llego el momento de montar una base de datos que tenia e mi antigua laptop, y
cuando la añadi sorpresa, que solo se me monta la base de datos en mi servidor
en modo solo lectura, y bueno como pueden ver en la imagen esta la solucion
para dehabilitar el modo solo lectura de nuestra base de datos.
Este modo de READONLY se lo suele
usar comunmente para que los usuarios no cambien datos ó en sistemas que solo
se necesita hacer consultas a la base de datos en los que un insert o un update
no existen (ojo desde el punto de vista de la aplicacion que consuma la DB).
Para deshabilitar el modo solo lectura hacermos los siguientes pasos:
Click derecho en la BD que esta en modo solo lectura, luego hacemos click en
Propiedades, luego seleccionamos Opciones y alli nosubicamos en Estado y
cambiamos el valor de Base de datos de solo lectura a FALSE y luego procedemos
a aceptar.
Modificación
A veces, sin embargo, no basta
con modificar los datos, sino que es necesario actualizar la estructura misma
de la base de datos para conseguir que se puedan representar nuevas
informaciones. Desde el momento en que la estructura de la base de datos se da
sustancialmente por la unión de las tablas que la componen, su actualización
corresponde a la eliminación de tablas o al cambio de sus características.
Para eliminar una tabla de una
base de datos la orden SQL que hay que usar es DROP TABLE:
DROP TABLE nombre_tabla {
RESTRICT | CASCADE }
nombre_tabla es el nombre de la
tabla que tiene que se eliminada.
Si se especifica la cláusula
CASCADE, se eliminan automáticamente los vínculos de integridad y las vistas
(view) en que la tabla está implicada. Y viceversa: si se especifica la
cláusula RESTRICT y existen vínculos de integridad o vistas que se refieran a
la tabla, la operación fracasa.
Por ejemplo, se han definido las
dos siguientes tablas:
CREATE TABLE Prueba1 (
Id INTEGER PRIMARY KEY,
Nombre VARCHAR(50))
CREATE TABLE Prueba2 (
Id INTEGER PRIMARY KEY,
Nombre VARCHAR(50),
toPrueba1 INTEGER
REFERENCES Prueba1(Id))
Si se quiere eliminar la tabla
Prueba1, la instrucción:
DROP TABLE Prueba1 RESTRICT
fracasará desde el momento en que
existe un vínculo de integridad que liga una llave externa de la tabla Prueba2
con la tabla Prueba1.
Sin embargo, la instrucción:
DROP TABLE Prueba1 CASCADE
se ejecutará con éxito y
producirá también la eliminación del vínculo de integridad referencial presente
en la tabla Prueba2.
En el caso en que se quiera
modificar una tabla existente en la base de datos, la instrucción que se tiene
que usar es ALTER TABLE. Desde el momento en que la sintaxis de esta
instrucción resulta más bien complicada, se explicará descomponiéndola de
acuerdo a las funciones que se quieren obtener:
Adición de una nueva columna a la tabla
ALTER TABLE nombre_tabla ADD
[ COLUMN ] definición_columna
nombre_tabla es el nombre de la
tabla que se quiere modificar.
La definición de la columna sigue
la misma sintaxis que se ha visto en la lección "Crear la base de
datos" en la explicación de la instrucción CREATE TABLE. Por lo tanto,
habrá que especificar el nombre de la columna, su tipo y, eventualmente, su
valor por defecto y los vínculos impuestos en la columna.
La palabra clave COLUMN se puede
omitir (aquí y en todos los casos sucesivos).
Eliminación de una columna de la tabla
ALTER TABLE nombre_tabla
DROP [ COLUMN ] nombre_columna
{ RESTRICT | CASCADE }
nombre_columna es el nombre de la
columna que se quiere eliminar. Las cláusulas RESSTRIC y CASCADE se comportan
exactamente como en la instrucción DROP TABLE que se ha visto anteriormente.
La instrucción fallará, además de
en los casos ya vistos para RESTRICT, si se intenta eliminar una columna que es
la única de una tabla.
Cambio del valor por defecto de una columna
ALTER TABLE nombre_tabla
ALTER [ COLUMN ]
nombre_columna { SET cláusula_defecto | DROP DEFAULT }
La sintaxis y el significado de
la cláusula que define el nuevo valor de defecto son idénticos a los de la
cláusula_defecto que se usa en la orden CREATE TABLE.
Eliminación de un vínculo de la tabla
ALTER TABLE nombre_tabla
DROP CONSTRAINT nombre_vínculo
{ RESTRICT | CASCADE }
Elimina el vínculo identificado
por el nombre especificado. La operación falla si se ha especificado la
cláusula RESTRICT y existen otros vínculos que dependen del que se intenta
eliminar. Especificando la cláusula CASCADE la operación se completará siempre
con éxito, borrando además los vínculos que dependen de que se ha eliminado.
A menudo se quiere eliminar un
vínculo al que no se le ha dado un nombre explícitamente, poniendo antes de la
definición del vínculo la cláusula opcional [CONSTRAINT nombre_vínculo]. En ese
caso, desde el momento que la DBMS habrá asignado de todos modos un nombre al
vínculo para poderlo identificar, será necesario interrogar a las tablas de
sistema de la DBMS y que nos dé su nombre. La particular interrogación
solicitada depende de la DBMS específica que se haya usado.
Adición de un vínculo a la tabla
ALTER TABLE nombre_columna
ADD vínculo_de_tabla
La sintaxis que hay que usar para
la definición del vínculo es la misma que se usa en la orden CREATE TABLE para
los vínculos de tabla.
3.3.4. Extraer
información de una tabla
La sentencia SELECT es utilizada
para traer información desdeuna tabla. La sintaxis general de esta sentencia
es:
SELECT seleccionar_Esto
FROM desde_tabla
WHERE condiciones;
Seleccionar_esto es lo que quiere
ver. Puede se una lista de columnas, o * para indicar “todas las columnas”.
Dedes_tabla indica la tabla donde están
los datos a recuperar. La clausula WHERE es opcional. Si esta presente,
condiciones representa las condiciones que cada registro debe de cumplir para
retornar como resultado.
3.3.4.1. Seleccionar todos los
datos
La forma mas simple de SELECT
recupera todo lo que hay en la tabla:
Mysql> SELECT * FROM pet
name
|
owner
|
species
|
sex
|
birth
|
death
|
fluffy
|
harold
|
Cat
|
F
|
1993-02-04
|
Null
|
Claws
|
gwen
|
Cat
|
M
|
1994-03-17
|
Null
|
Buffy
|
harold
|
Dog
|
F
|
1989-05-13
|
Null
|
Fang
|
Benny
|
Dog
|
M
|
1990-08-27
|
Null
|
Bowser
|
Diane
|
Dog
|
M
|
1979-08-31
|
1995-07-29
|
Chirpy
|
Gwen
|
Bird
|
F
|
1998-09-11
|
Null
|
Whistler
|
Gwen
|
Bird
|
Null
|
1997-12-09
|
Null
|
Slim
|
Benny
|
Snake
|
M
|
1996-04-29
|
Null
|
puffball
|
diane
|
hamster
|
f
|
1999-03-30
|
Null
|
Esta forma de SELECT es útil si
se quiere revisar la tabla completa, por ejemplo, después de haberla cargado
con un conjunto de datos inicial. Por ejemplo, puede ocurrir que la fecha de
nacimiemto de bowser no parezzca correcta. Consultanso los papeles de pedirigi
se descubre que el año correcto de nacimientop es 1989, no 1979
Existen al menos dos formas de solucionarlo:
· Editando el fichero pet.txt para
corregir el error, vaciando la tabla y volviendo a llenar con los datos. Para
este pado se usan las sentencias DELETE y LOAD DATA:
·
Mysql> DELETE FROM pet;
·
Mysql> LOAD DATA LOCAL INFILE `pet,txt` INTO TABLE pet;
· No obstante, si opta por esto, debera
volver a cargar el registro de puffball.
· Corrigiendo únicamente el registro
erróneo. Para esto se usa la sentencia UPDATE:
·
Mysql >UPDATE pet SET birth = `1989-08-31+ WHERE NAME
· UPDATE MODIFICA SOLO EL REGISTRO EN
CUESTION Y NO REQUIERE QUE SE VUELVA A LLENAR LA TABLA
CONCLUSIONES BASICAS DE SQL
Con sql nos permite ingresar
comandos o sentencias de tal manera que podemos administrar o crear una base de
datos.
Es la variedad de comandos que
nos permiten generar datos desde la creación, modificasion o mantenimiento a
las tablas las cuales también nos permiten recuperar datos o importarlos de
siferentes maneras .
Es difícil imaginar hoy en dia la
concentración de información sin base de datos, las pequeñas o grandes
industrias tienen como base su sistema informatico la construcción de base de
datos con las que podemos tener una gran versatilidad incluso con los equipos
myframe.
La seguridad en las bases de
datos es muy importante debido a que garantiza la integridad física y la lógica
de los datos de información.
LA MIGRACION DE LOS DATOS
La migración o exportación de
datos se puede dar de varias maneras
ejem:
· Archivos de tipo texto
· Hojas de calculo
· Archivos de texto sin formato
Dentro de la nube de internet
debido a la confiabilidad de las bases de datos estas mismas pueden ser
manipulados desde aplicaciones de internet de forma eficiente y segura.
Dìaz Gòmez Daniel