Mostrando entradas con la etiqueta base de datos. Mostrar todas las entradas
Mostrando entradas con la etiqueta base de datos. Mostrar todas las entradas

jueves, 27 de mayo de 2010

Características especiales de phpMyAdmin

Diseño fisico de una base de datos

Vamos a /usr/share/doc/phpmyadmin/examples

Extraemos el compactado create_tables.sql.gz ejecutando

tar -xzvf create_tables.sql.gz


instalamos la base de datos phpmyadmin

mysql -u root -p

Introduciomos la contraseña del usuario (root) en caso de ser necesario y damos ENTER

Vamos a la configuracion del phpMyAdmin en /usr/share/phpmyadmin/libraries/config.default.php y establecemos las siguientes variables de configuración

$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';

$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';

$cfg['Servers'][$i]['relation'] = 'pma_relation';

$cfg['Servers'][$i]['table_info'] = 'pma_table_info';

$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';

$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';

$cfg['Servers'][$i]['column_info'] = 'pma_column_info';

$cfg['Servers'][$i]['history'] = 'pma_history';

$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';


Listo! Ahora podemos ver el diagrama entidad-relación de nuestras bases de datos y tener una mejor idea de su esquema.

Saludos y nos leemos...


domingo, 13 de diciembre de 2009

Salvar y Restaurar Base de Datos en MySQL de forma rápida y sencilla


En un sistema Debian la ubicación del directorio de datos de MySQL por omisión es en /var/lib/mysql . Para salvar la(s) base(s) dato(s) realizamos los siguientes pasos:

Salvar:

1. Paramos el servicio MySQL con:
/etc/init.d/mysql stop

2. Compiamos el directorio de datos a un directorio de respaldo:
cp -r /var/lib/mysql/ /algun_dir/
ó lo comprimimos mediante:
tar czf mysql-backup.tar.gz /var/lib/mysql
3. Iniciamos el servicio:
/etc/init.d/mysql start

Restaurar:

1. Paramos el servicio MySQL con:
/etc/init.d/mysql stop

2. Restauramos la copia de los datos
cp /algun_dir/respaldo-mysql/* /var/lib/mysql
3. Importate restaurar el dueño y el grupo a los archivos de datos para tener los accesos correctamente. Por omisión es el usuario mysql el encargado del servicio.
chown -R mysql:mysql /var/lib/mysql
4. Iniciamos el servicio:
/etc/init.d/mysql start

Les dejo un documento interesante sobre Bases de datos en MySQL donde el objetivo principal es: "adquirir las habilidades y conocimientos de MySQL necesarios para utilizar y administrar este SGBD (Sistema Gestor de Bases de Datos)".

En el punto Copias de seguridad abordan con más profundidad este tema.

Referencias:
Base de datos en MySQL
Activar innoDB en Mysql Server

jueves, 10 de diciembre de 2009

Serie sobre cómo construir un datawarehouse


Cuando estamos investigando en el tema de Business Intelligence o Inteligencia de negocio y poco a poco nos damos cuenta que hay muchas temáticas, nos suele surgir preguntas como, ¿Por dónde empezar? .

Existen muchos sitios que aborden este mundo. Una forma fácil de entender los principales conceptos y herramientas que dispone la inteligencia empresarial, es en el siguiente blog: Business Intelligence fácil

Una sección recomendada es: Serie sobre cómo construir un datawarehouse.

En este post les dejo la sección en formato pdf para que la puedas consultar offline. Espero que disfruten del buen contenido del blog.

Referencias:
Artículos sobre Serie DWH (web, pdf)

miércoles, 9 de diciembre de 2009

SQL Server 2005, Limpiar base de datos y restablecer columnas identity, todo en 6 lineas!


Una manera sencilla para vaciar nuestras base de datos en SQL Server 2005 se muestra a continuación. El artículo original se encuentra en DotNetSlackers.

/*Disable Constraints & Triggers*/
exec sp_MSforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'
exec sp_MSforeachtable 'ALTER TABLE ? DISABLE TRIGGER ALL'

/*Perform delete operation on all table for cleanup*/
exec sp_MSforeachtable 'DELETE ?'

/*Enable Constraints & Triggers again*/
exec sp_MSforeachtable 'ALTER TABLE ? CHECK CONSTRAINT ALL'
exec sp_MSforeachtable 'ALTER TABLE ? ENABLE TRIGGER ALL'

/*Reset Identity on tables with identity column*/
exec sp_MSforeachtable 'IF OBJECTPROPERTY(OBJECT_ID(''?''), ''TableHasIdentity'') = 1 BEGIN DBCC CHECKIDENT (''?'',RESEED,0) END'

Referencias:
SQL Server 2005, Clean your Database Records & reset Identity Columns, all in 6 lines!

martes, 13 de octubre de 2009

Solucionando error Mondrian y PostgreSQL 8.3.8


Para solucionar el error:

Caused by: javax.servlet.ServletException: javax.servlet.jsp.JspException: org.apache.jasper.JasperException: javax.servlet.ServletException: javax.servlet.jsp.JspException: com.tonbeller.jpivot.olap.model.OlapException: ERROR: no existe la función upper(smallint)

de las versiones antiguas de Mondrian y la visualizacion de Cubos OLAP sobre el gestor de base de datos PostgreSQL 8.3.8, tenemos que especifiar en el esquema del cubo el tipo de dato de cada colmna en la etiqueta Level atributo type . Les dejo un fragmento del esquema de un cubo y su definición en XML.



<!-- Producto -->
<Dimension name="Producto">
<Hierarchy name="Tipo" hasAll="true" primaryKey="id_dim" caption="Producto/Tipo" allMemberName="Todas" allMemberCaption="(Todas)">
<Table name="dim_producto"/>
<Level name="Tipo" column="tipo_codigo" nameColumn="tipo_desc" hideMemberIf="IfBlankName" type="String"/>
<Level name="Producto" column="id_producto" nameColumn="nombre_producto" hideMemberIf="IfBlankName" type="Numeric">
<Property name="Precio_mn" column="precios" type="Numeric"/>
<Property name="Precio_usd" column="precio_usd" type="Numeric"/>
<Property name="Unidad_medida" column="unidad_medida" type="String"/>
</Level>
</Hierarchy>
<Hierarchy name="Grupo" hasAll="true" primaryKey="id_dim" caption="Producto/Grupo" allMemberName="Todas" allMemberCaption="(Todas)">
<Table name="dim_producto"/>
<Level name="Grupo" column="grupo_codigo" nameColumn="grupo_desc" hideMemberIf="IfBlankName" type="String"/>
<Level name="Producto" column="id_producto" nameColumn="nombre_producto" hideMemberIf="IfBlankName" type="Numeric">
<Property name="Precio_mn" column="precios" type="Numeric"/>
<Property name="Precio_usd" column="precio_usd" type="Numeric"/>
<Property name="Unidad_medida" column="unidad_medida" type="String"/>
</Level>
</Hierarchy>
</Dimension>



{"String", "Numeric", "Integer", "Boolean", "Date", "Time", "Timestamp"}

por defecto es
String. Seguido les dejo algnas referenias que me ayudaron a reslver el problema.


Referencias:
http://forums.pentaho.org/showthread.php?t=26453&highlight=upper
http://forums.pentaho.org/showthread.php?t=51166
http://docs.huihoo.com/javadoc/mondrian/3.0.4/src-html/mondrian/olap/MondrianDef.Level.html#line.1193