Título: Iniciando en base de datos. Publicado por: :ohk<any> en 5 Noviembre 2009, 21:44 pm Citar Una base de datos o banco de datos es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En este sentido, una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. En la actualidad, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital (electrónico), que ofrece un amplio rango de soluciones al problema de almacenar datos. Seguir leyendo... (http://es.wikipedia.org/wiki/Base_de_datos) Existen programas denominados Sistemas de Gestion de Base de Datos (SGBD) que permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada. Las propiedades de estos SGBD, así como su utilización y administración, se estudian dentro del ámbito de la informática. Entre los mas conocidos estan: Mysql, Postgresql, Firebird, SQLite. Oracle, Microsoft SQL Server, Open Access, # Advantage Database, dBase, FileMaker, Fox Pro, IBM DB2 Universal Database (DB2 UDB), IBM Informix, Interbase de CodeGear, filial de Borland, MAGIC, Paradox, PervasiveSQL, Progress (DBMS), Sybase ASE, Sybase ASA, Sybase IQ, WindowBase, IBM IMS Base de Datos Jerárquica, CA-IDMS, entre otros. ¿Por que utilizar una Base de Datos?
Otras ventajas de las bases de datos
Para conocer mas a fondo los mas utilizados, veremos los manuales. Manual Mysql: http://downloads.mysql.com/docs/refman-5.0-es.a4.pdf PHP & MySQL Everyday Apps for Dummies :http://www.4shared.com/file/73791776/6113812a/PHP__MySQL_Everyday_Apps_for_Dummies.html Manual Postgresql: http://palomo.usach.cl/Docs/postgres/Postgres-User.pdf Manual de Oracle: http://www.jorgesanchez.net/bd/oracleSQL.pdf http://www.oracle.com/technology/tech/php/pdf/underground-php-oracle-manual.pdf Manual de referencia SQL Server: http://www.lsgames.com/tmp/Manual%20de%20Referencia%20-%20SQL%20Server.pdf http://gamp.c.u-tokyo.ac.jp/~ueda/varilex/art/manual.pdf Microsoft SQL Server 2005 for Dummies :http://www.4shared.com/file/73770632/45c3304/Microsoft_SQL_Server_2005_Reporting_Services_for_Dummies.html Manual Informix (http://foro.elhacker.net/bases_de_datos/iniciando_en_base_de_datos-t273232.0.html;msg1341409#msg1341409): Ejercicios Access: http://difusion.osi.iteso.mx/pdfs/Access_I.pdf Access Forms & Reports for Dummies: :http://www.4shared.com/file/73692405/6cf48445/Access_Forms__Reports_for_Dummies.html Ejercicios Resueltos: http://epcc.unex.es/modules.php?op=modload&name=Downloads&file=index&req=descargar&lid=3008 http://superalumnos.net/files/EjerciciosSQL.pdf Mysql por Consola Arranque como usuario: Código
En el caso en el que el servidor no se encuentre en el ordenador que estamos trabajando el orden de uso será: Código
Consultas generales sobre las bases de datos Mostrar las bases de datos: Código
Mostrar las bases de datos seleccionadas: Código
Mostrar las tablas que contiene una base de datos: Código
Seleccionar una base de datos: Código
Describir la estructura de campos de una tabla: Código
Creación de bases de datos, tablas y registros: Crear una base de datos: Código
Creación de una tabla: Código
[temporary] --> la tabla existirá mientras exista la conexión con el cliente actual o hasta que se emita la instrucción drop table. [if no exist] --> si existe la tabla no se crea una nueva. (1) Las posibles opciones de tipo de campo son: tinyint --> 1 byte smallint --> 2 byte mediumint --> 3 byte int --> 4 byte bigint --> 8 byte float --> 4 byte double --> 8 byte decimal --> variable char(n) --> cadena de caracteres de longitud fija varchar(n) --> cadena de caracteres de longitud variables tinyblob --> objeto binario largo (muy pequeño) blob --> objeto binario largo (pequeño) mediumblob --> objeto binario largo (medio) longblob --> objeto binario largo (grande) tinytext --> cadena de texto muy pequeña text --> cadena de texto pequeña mediumtext --> cadena de texto media longtext --> cadena de texto larga enum --> una enumeración set --> un conjunto date --> valor fecha (aaaa-mm-dd) time --> valor de hora (hh-mm-ss) datetime --> valor de fecha y hora timestamp --> valor de lapso de tiempo (aaaammddhhmmss) year --> valor de año (2) Las posibilidades del apartado opciones son: Generales: null --> admite valores nulos no null --> rechaza dejar el campo en blanco default --> permite establecer un valor por defecto Columnas numéricas: auto_increment --> para generar identificadores únicos o valores en serie. unisgned --> rechazo de valores negativos Cadena: binary --> trata los valores como cadenas binarias (campos char y varchar) (3) Cláusulas: primary key --> columna indexada para búsqueda rápida. Clave principal, solo puede haber una. unique --> crea un índice con valores únicos index, key --> son sinónimos y crean índices que pueden contener valores repetidos. Inserción de registros en una base de datos: Código
I. LOW_PRIORYTY | DELAYED: la primera de las opciones hace que la inserción sea postergada hasta que ningún cliente utilice la tabla. La segunda genera una cola de introducción de registros, que se añadirán a la tabla cuando esta quede libre de usuarios. II. IGNORE: se desechan las filas que duplican valores para claves únicas. III. INTO: se requiere en versiones 3.22.5. (1)Las formas de introducción son: (lista_columnas) VALUE (lista_valores_o_expresión) (lista_columnas) SELECT (opción_de_recuperación) SET (nombre_columna=expresion, ....) Uso de una base de datos Código
Consulta de una base de datos: La forma general del comando de consulta es: Código
(1) Tipos de opciones permitidas: all --> provoca el regreso de todas las filas distinct, distinctrow --> especifican que las líneas duplicadas deben ser eliminadas high_prioruty --> da mayor prioridad a la instrucción en el caso de espera. sql_byg_result, sql_small_result --> especifican que el conjunto de resultados será mas largo o más corto straignt_join --> fuerza a las tablas a unirse en el orden citado en la cláusula from (2) Lista --> especifica las columnas que deben devolverse, el símbolo “*” especifica que deben extraerse todas las columnas. La separación entre los diferentes nombres de columnas se hacen con el símbolo “,”. (3)Cláusulas (en caso de haber varias cláusulas deben seguir el orden expuesto en la lista): Intro outfile ‘nombre_fichero’ opciones --> El resultado de la consulta es transferido a un fichero, paro lo cual debemos tener privilegio de crear el fichero y además este no debe existir. Las opciones de importanción son las siguientes: Código (a) Código (b) Código (c) Código (d) a)especifica el carácter o caracteres que delimitan valores dentro de la línea b)especifica un carácter entrecomillado que se quita del final del campo de valores. OPTIONALLY establece que los valores solamente se entrecomillan para las columnas char y varchar. c)Se utiliza para especificar el carácter de escape especial d)Especifica un carácter o caracteres que determinan el final de la línea. Los caracteres especiales son los siguientes: -\0 ascii 0 -\b retroceso -\n línea nueva -\r retorno de carro -\s espacio -\t tabulación -\’ comilla simple -\” comilla doble -\\ barra inversa from tabla-tablas --> especifica una o varias tablas desde las que se obtendrán las filas. Existen varias posibilidades de unión de tablas (mirar libro de mysql). where expresión --> establece una expresión que se aplica a las filas seleccionadas group by lista_columnas --> agrupa filas del conjunto de resultados de acuerdo con las columnas citadas. having expresión --> especifica una expresión secundaria para limitar filas después de satisfechas las condiciones expuestas en la cláusula where. order by entero_unsigne|nombrecoluma|fórmula --> indica como se va a clasificar el conjunto de resultados. Las posibilidades son: asc – ascendente desc – descendente rand() – orden aleatorio procedure nombre_procedimiento --> indica un nombre de procedimiento al que serán enviados los datos antes de su salida. Practicas | Ejercicios de referencia: Tabla de referencia: (http://i36.tinypic.com/2v84u9f.jpg) * Obtener los apellidos de los empleados. Código
*Obtener los apellidos de los empleados sin repeticiones. Código
*Obtener todos los datos de los empleados que trabajan para el departamento 14 Código
*Obtener todos los datos de los empleados que trabajan para el departamento 37 y para el departamento 77 Código
Código
*Obtener todos los datos de los empleados cuyo apellido comience por ’P’ Código
*Obtener el presupuesto total de todos los departamentos. Código
*Obtener el numero de empleados en cada departamento. Código
*Obtener un listado completo de empleados, incluyendo por cada empleado los datos del empleado y de su departamento. Código
*Obtener un listado completo de empleados, incluyendo el nombre y apellidos del empleado junto al nombre y presupuesto de su departamento. Código
Código
*Obtener los nombres y apellidos de los empleados que trabajen en departamentos cuyo presupuesto sea mayor de 60.000 Código
Código
*Obtener los datos de los departamentos cuyo presupuesto es superior al presupues- to medio de todos los departamentos. Código
*Obtener los nombres (unicamente los nombres) de los departamentos que tienen mas de dos empleados. Código
Código
*Aplicar un recorte presupuestario del 10 % a todos los departamentos. Código
*Reasignar a los empleados del departamento de investigacion (codigo 77) al depar- tamento de informatica (codigo 14). Código
*Despedir a todos los empleados que trabajan para el departamento de informatica (codigo 14). Código
*Despedir a todos los empleados que trabajen para departamentos cuyo presupuesto sea superior a los 60.000 Código
*Despedir a todos los empleados. Código
Hago una pausa cuando tocamos la eliminación de registros, segun mi criterio, jamas debemos eliminar los registros, personas, productos, nada. Para esto en nuestra tabla debemos incrementar un campo denominado "estado" que especifique 2 valores, 1 por activo otro por eliminado. Y al momento de "eliminar un registro" debemos hacer simplemente un UPDATE cambiando el estado, y cuando se listen los productos o personas deberemos incrementar en la consulta AND estado = 'Activo'. Esto para conservar todos los registros, muchas empresas lo hacen. Sigue en construcción... Título: Re: Iniciando en base de datos. Publicado por: Nakp en 5 Noviembre 2009, 22:33 pm temporal :P hasta que hayan muchas y tenga que hacerse un post recopilatorio xD
Título: Re: Iniciando en base de datos. Publicado por: Carloswaldo en 6 Noviembre 2009, 05:02 am Manual de Informix-4gl
http://docs.nojabrsk.ru/informix/english/docs/4gl/7022.pdf Título: Re: Iniciando en base de datos. Publicado por: hitori batusai en 10 Noviembre 2009, 15:26 pm Bases de datos en vfp
Contenedor de Bases de Datos de VFP Un contenedor de Bases de datos es en realidad una tabla de FoxPro con la extensión .DBC. Sus campos memo relacionados están en una tabla del mismo nombre con la extensión .DCT. Las DBC son esencialmente diccionarios de datos activos. Su representación visual de un modelo de datos de aplicación es especialmente bienvenida en la documentación y comunicación de las relaciones entre las tablas de sus aplicaciones. También se almacenan los datos que usa FoxPro para implementar nuevas características, incluyendo desencadenantes y procedimientos almacenados. Para abrir una base de datos haz click en archivo, nuevo selecciona base de datos (Database), y aparecerá la ventana de Generador de base de datos. En este tu construirás las tablas visualmente, creas etiquetas de índice, establece relaciones entre tablas y proporciona otros componentes que ayudan en el proceso de diseño de una aplicación. En el Generador de bases de datos haz clic en cualquier lugar de la ventana, se desplegará un menú contextual que contiene las opciones siguientes: - Expandir (Expand) - Contraer todos (Collapse all) - Nueva tabla (New table) - Nueva vista remota (* New remote view creo que así sería en ingles) - Nueva vista local (*New local view) - Agregar tabla (Add table) - Procedimientos almacenados (Stored procedures) - Integridad referencial (integrity referential) - Ayuda Tablas Podes comenzar una tabla de varias maneras. Una es teclear CREATE DATOS desde la ventana de comandos. Pero hay muchas más. Haz clic con el botón derecho del ratón y selecciona Nueva tabla, dale el nombre a tu tabla de "datos1" o al menos con este nombre trabajare yo en este curso, bien ahora digita los siguientes datos a la tabla: Codcliente carácter 10 Nombre carácter 40 Dirección carácter 40 Ciudad carácter 22 Balance monetario 8 Nofactura carácter 8 Agrege un segundo archivo llamado ordenes, como sigue Numorden carácter 10 Codcliente carácter 10 Fecha fecha 8 Cantidad monetario 8 Entrega lógico 1 El tercero se llamara: pedidos seguirá las líneas en cada orden: Numorden carácter 10 Numelem carácter 10 Cantidad numérico 3 Precio monetario 8 Total monetario 8 Finalmente un archivo maestro llamado element de los artículos que usted vende Numelem monetario 8 Descripción carácter 40 Preciounit monetario 8 Si usted hace un clic (derecho), en la ventana Generador de bases de datos, verá que aparecen las siguientes opciones: examinar (browse) invoca al comando BROWSE eliminar (delete) borra o elimina la tabla del DBC. contraer (collapse) minimiza la representación de la tabla a un símbolo pequeño, para ahorrar espacio. modificar (modify) invoca al generador de tablas ayuda (help) invoca a la AYUDA. Índices En el generador de tablas, usted verá tres fichas en la parte superior de la ventana: campos, índice y tabla. una vez que la tabla se ha creado, usted puede hacer clic sobre la ficha índice y construir las etiquetas de índices en un entorno familiar. El generador de bases de datos da un panorama visual a una nueva característica de VFP. para usar este generador para establecer una relación entre dos campos en dos tablas, ambos deben ser índices en sus tablas respectivas. Vaamos a crear etiquetas de índice para cada tabla. haga clic en la tabla "datos1" con el botón secundario del ratón para desplegar el menú contextual y selecciona modificar para que aparezca de nuevo la ventana Generador de tablas. Después hace clic en la ficha índice de la ventana. Teclee CODCLIENTE como nombre de la etiqueta y CODCLIENTE otra vez como expresión. (No tomes en cuenta los diferentes tipos de índices por ahora), hace clic en aceptar y habrás terminado. las órdenes tendrán dos etiquetas de índice: Codclie para encontrar un índice relacionado y Numorden para coincedir con las líneas de detalle en la orden. las líneas de orden también tienen dos etiquetas de índice: Numorden para encontrar el registro padre en cada orden (ya que cada orden puede tener varias líneas de detalle), y Numelem para localizar la descripción en el archivo de artículos. Por último, los artículos tienen dos etiquetas: Numelem, que facilita la búsqueda de artículos que necesita la descripción o precio del artículo, y Descripción, para poder desplegar las partes en orden alfabético en los menús desplegables. Título: Re: Iniciando en base de datos. Publicado por: sempus en 14 Noviembre 2009, 16:56 pm Si mas o menos, explica como manipular una base de datos desde la linea de comandos de visualfox, claro, si no has leido nada de visualfox costara un poco mas la asimilacion del articulo xD ,pero se entiende ñ_ñ
Tratare de Explicarlo un poco Cuando Creas una base de datos, esta queda con la extension DBC (DataBase Conteiner), que enrealiadad no se comporta como tal :-( para crear una base de datos, basta con digitar (en la linea de comandos) Código
Esta orden creara datos1 en el directorio actual en el que estemos trabajado ,puedes saberlo con el comando CD, si quieres hacerlo en c:\DB1 escribe Código
y luego Código
entonces la ruta a la base serie c:\DB1\datos1.dbc o puedes hacerlo directamente Código
creo que esto de los directorios es ajeno a visualfox asi que paso a lo siguiente :D una vez creata la puedes abrir Código
para Añadir una tabla lo haces asi Código
si tabla1 no existe dara error :P para crear una tabla se hace asi Código
C = Caracter n = numerico campo3 dice que sera de un ancho de 8 , 6 para enteros y 2 para decimales y asi con todo lo que hitori a colocado :P Título: [e-Book] Bases de Datos Libres Publicado por: [u]nsigned en 1 Diciembre 2009, 22:32 pm Exelente libro de iniciacion a las bases de datos libres SQL: MySQL y PostgreSQL.
490 paginas hasta con ejercicios y todo ;) http://www.scribd.com/doc/4092937/Bases-de-datos Saludos Título: Re: [e-Book] Bases de Datos Libres Publicado por: Graphixx en 27 Abril 2013, 09:40 am Exelente libro de iniciacion a las bases de datos libres SQL: MySQL y PostgreSQL. 490 paginas hasta con ejercicios y todo ;) http://www.scribd.com/doc/4092937/Bases-de-datos Saludos Como para descargar ese libro en PDF toca ser usuario premium y acabo de gastarme 9 dolares con mi tarjeta de credito pa descargarlo, se los comparto en dropbox: https://dl.dropboxusercontent.com/u/106838507/4092937-Bases-de-datos.pdf 4Shared: http://www.4shared.com/office/VE5rQgO1/4092937-Bases-de-datos.html Título: Re: Iniciando en base de datos. Publicado por: Millboy en 22 Enero 2014, 06:50 am Como para descargar ese libro en PDF toca ser usuario premium y acabo de gastarme 9 dolares con mi tarjeta de credito pa descargarlo, se los comparto en dropbox: https://dl.dropboxusercontent.com/u/106838507/4092937-Bases-de-datos.pdf 4Shared: http://www.4shared.com/office/VE5rQgO1/4092937-Bases-de-datos.html Gracias por compartir!! A leer se ha dicho. ::) Título: Re: Iniciando en base de datos. Publicado por: Yaldabaot en 18 Julio 2014, 23:25 pm Ya no sale el libro :(, los enlaces están rotos y me pone a descargar el odioso torrent de ilivid que al final no me dió el archivo :(. Me podrían pasar el libro por favor?.
Título: Re: Iniciando en base de datos. Publicado por: Graphixx en 20 Julio 2014, 05:18 am Ya no sale el libro :(, los enlaces están rotos y me pone a descargar el odioso torrent de ilivid que al final no me dió el archivo :(. Me podrían pasar el libro por favor?. En esta coleccion de libros que organice, dentro de la carpeta mejores libros, es el primero, y obvio espero que te sirvan los demas tambien. COLECCION 90 LIBROS DE SQL EN ESPAÑOL (http://foro.elhacker.net/bases_de_datos/coleccion_90_libros_de_sql_en_espanol-t398055.0.html;msg1882957#msg1882957) Título: Re: Iniciando en base de datos. Publicado por: Yaldabaot en 22 Julio 2014, 19:27 pm GRACIAS!
Título: Re: Iniciando en base de datos. Publicado por: Thanos_37 en 4 Diciembre 2014, 05:44 am Ya no sale el libro :(, los enlaces están rotos y me pone a descargar el odioso torrent de ilivid que al final no me dió el archivo :(. Me podrían pasar el libro por favor?. No se si aun te interese el libro, pero lo encontré por aqui: http://www.uoc.edu/masters/oficiales/img/913.pdf |