Para la creacion de base de datos te puedo crear un ejemplo
en sql server 2005 que tambien funciona en sql server 2008
el tamaño de la base de datos no importa si es chica o grande eso depende para que te servira pero se crea de la misma manera
bueno aqui te dejo un ejemplo que utilice en uno de mis proyectos espero y te sirva:
CREATE DATABASE Tienda_web
USE Tienda_web
CREATE TABLE PRODUCTO(
CODIGO INT NOT NULL,
CONSTRAINT CK_CODIGO CHECK(CODIGO LIKE '[0-9]%'),
NOMBRE_PRODUCTO VARCHAR(50) NOT NULL,
COSTO FLOAT NOT NULL,
CANTIDAD_PRODUCTO INT,
CONSTRAINT CK_CANTIDAD CHECK(CANTIDAD_PRODUCTO LIKE '[0-9]%'),
CONSTRAINT PK_CODIGO PRIMARY KEY (CODIGO)
);
CREATE TABLE USUARIO(
CURP VARCHAR(18) NOT NULL,
CONSTRAINT CK_CURP CHECK(CURP LIKE '[A-Z][A-Z][A-Z][A-Z][0-9][0-9][0-9][0-9][0-9][0-9][A-Z][A-Z][A-Z][A-Z][A-Z][A-Z][0-9][0-9]'),
NOMBRE_USUARIO VARCHAR(50) NOT NULL,
APELLIDO_PATERNO VARCHAR(30) NOT NULL,
APELLIDO_MATERNO VARCHAR(30),
DIRECCION_USUARIO VARCHAR(100) NOT NULL,
TELEFONO_USUARIO VARCHAR(20),
CELULAR_USUARIO VARCHAR(20),
EMAIL_USUARIO VARCHAR(100) NOT NULL,
REFERENCIA_CASA VARCHAR(150),
USUARIO VARCHAR(50) NOT NULL,
CONTRASENIA VARCHAR(50) NOT NULL,
CONSTRAINT PK_CURP PRIMARY KEY (CURP)
);
CREATE TABLE ADMINISTRADOR(
CLAVE INT NOT NULL,
CONSTRAINT CK_CLAVE CHECK(CLAVE LIKE '[0-9]%'),
NOMBRE_ADMINISTRADOR VARCHAR(50) NOT NULL,
APELLIDO_ADMINISTRADOR VARCHAR(50) NOT NULL,
DIRECCION_ADMINISTRADOR VARCHAR(100) NOT NULL,
TELEFONO_ADMINISTRADOR VARCHAR(20),
CELULAR_ADMINISTRADOR VARCHAR(20),
EMAIL_ADMINISTRADOR VARCHAR(100) NOT NULL,
USUARIO VARCHAR(50) NOT NULL,
CONTRASENIA VARCHAR(50) NOT NULL,
CONSTRAINT PK_CLAVE PRIMARY KEY (CLAVE)
);
CREATE TABLE VENTA(
FOLIO INT NOT NULL,
PRODUCTO_CODIGO INT NOT NULL,
CONSTRAINT CK_PRODUCTO_CODIGO CHECK(PRODUCTO_CODIGO LIKE '[0-9]%'),
USUARIO_CURP VARCHAR(18) NOT NULL,
CONSTRAINT CK_CURP_USU CHECK(USUARIO_CURP LIKE '[A-Z][A-Z][A-Z][A-Z][0-9][0-9][0-9][0-9][0-9][0-9][A-Z][A-Z][A-Z][A-Z][A-Z][A-Z][0-9][0-9]'),
COSTO FLOAT NOT NULL,
CANTIDAD_ADQUIRIDA INT NOT NULL,
CONSTRAINT PK_FOLIO PRIMARY KEY (FOLIO)
);
ALTER TABLE VENTA
ADD CONSTRAINT FK_PROD_CODIGO FOREIGN KEY (PRODUCTO_CODIGO) REFERENCES PRODUCTO (CODIGO)
ALTER TABLE VENTA
ADD CONSTRAINT FK_USUARIO FOREIGN KEY (USUARIO_CURP) REFERENCES USUARIO (CURP)
CREATE TABLE SERVICIOS(
FOLIO_SERVICIO INT NOT NULL,
USUARIO_CURP_SERV VARCHAR(18) NOT NULL,
CONSTRAINT CK_USU_CURP CHECK(USUARIO_CURP_SERV LIKE '[A-Z][A-Z][A-Z][A-Z][0-9][0-9][0-9][0-9][0-9][0-9][A-Z][A-Z][A-Z][A-Z][A-Z][A-Z][0-9][0-9]'),
NOMBRE_SERVICIO VARCHAR(100) NOT NULL,
DESCRIPCION_SERVICIO VARCHAR(200) NOT NULL,
ESTADO VARCHAR(50) NOT NULL,
CONSTRAINT PK_FOLIO_SERV PRIMARY KEY (FOLIO_SERVICIO)
);
ALTER TABLE SERVICIOS
ADD CONSTRAINT FK_USUA_CURP_SERVIS FOREIGN KEY (USUARIO_CURP_SERV) REFERENCES USUARIO (CURP)
si tienes alguna duda en el codigo solo pregunta y con gusto te respondere