jueves, 13 de junio de 2013

CONCLUSION DE SQL


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

No hay comentarios:

Publicar un comentario