Les voy a explicar el modelo de base de datos del sistema de blog mas básico y por supuesto muy útil, que también puede servir para otros usos.
El modelo de base de datos de un blog esta basado en el sistema blogelin, cuenta con 4 tablas:
- category: tabla para guardar las categorías que se relacionaran con los post o artículos
- post: tabla para guardar los artículos
- user: tabla para guardar los usuarios que publicaran articulos
- comment: tabla para guardar los comentarios de los articulos
Como notas adicionales los articulos solo pueden estar relacionados con una categoría.
Modelo entidad relación de un sistema de blog
Este es el diagrama entidad-relación de la base de datos de un sistema de blog.
Tabla Category
1
2
3
4
|
create table category(
id int not null auto_increment primary key,
name varchar(255)
);
|
La tabla category cuenta con 2 campos:
- id: la llave primaria auto incremental
- name: el nombre de la categoria
Tabla User
1
2
3
4
5
6
7
8
9
10
11
12
|
create table user(
id int not null auto_increment primary key,
name varchar(50),
lastname varchar(50),
username varchar(50),
email varchar(255),
password varchar(60),
image varchar(255),
status int default 1,
kind int default 1,
created_at datetime
);
|
La tabla user cuenta con los siguientes campos:
- id: llave primaria
- name: nombre del usuario
- lastname: apellido del usuario
- username: nombre de usuario o identificador
- email: direccion de correo electronico del usuario
- password: contraseña del usuario
- status: estado, puede ser 0 = inactivo o 1 = activo
- kind: el tipo de usuario
- created_at: la fecha de creación del usuario, normalmente se usa la función NOW()
Tabla post
La tabla post sirve para guardar los artículos
1
2
3
4
5
6
7
8
9
10
11
12
13
|
create table post(
id int not null auto_increment primary key,
title varchar(255),
brief varchar(511),
content text,
image varchar(255),
created_at datetime,
status int default 1,
user_id int not null,
category_id int not null,
foreign key (user_id) references user(id),
foreign key (category_id) references category(id)
);
|
La tabla post tiene los siguientes campos:
- id: la llave primaria
- title: titulo del articulo
- brief: contenido corto del articulo
- content: contenido completo del articulo
- image: imagen destacada del articulo
- created_at: fecha de creación del articulo
- status: estado del articulo, 0 = no publico, 1= publico
- user_id: id del usuario que escribe el articulo
- category_id: id de la categoría a la que pertenece el articulo
Tabla comment
La tabla comment funciona para recibir comentario de usuarios fuera del sistema, por lo que no se utiliza el id de usuario, mas bien los datos: nombre y email.
1
2
3
4
5
6
7
8
9
10
|
create table comment(
id int not null auto_increment primary key,
name varchar(255),
comment varchar(255),
email varchar(255),
post_id int not null,
created_at datetime,
status int default 1,
foreign key (post_id) references post(id)
);
|
- id: llave primaria
- name: nombre de la persona que escribe el comentario
- comment: comentario de la persona o visitante
- email: correo electronico del visitante
- post_id: id o llave primaria del articulo al que hacemos referencia
- created_at: fecha de creacion del comentario
- status: estado del comentario, 0= no publico, 1= publico
Te esperamos en los siguientes artículos en donde hablaremos mas acerca de estos temas, los cuales hoy en día son de vital importancia en el mundo de la tecnología.