24. Describe Album Module
- The application that we are going to build is a simple inventory system
to display which albums we own. The main page will list our collection
and allow us to add, edit and delete CDs.
Page Description
List of albums
This will display the list of albums and provide links to edit and delete them.
Also, a link to enable adding new albums will be provided.
Add new album This page will provide a form for adding a new album.
Edit album This page will provide a form for editing an album.
Delete album This page will confirm that we want to delete an album and then delete it.
29. Routing and controllers
- As we have four pages that all apply to albums, we will group them in
a single controller AlbumController within our Album module as four
actions
Page Controller Action
Home AlbumController index
Add new album AlbumController add
Edit album AlbumController edit
Delete album AlbumController delete
58. 1) User (u)
CREATE TABLE `user` (
`uId` INT NOT NULL AUTO_INCREMENT ,
`uName` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT
NULL ,
`uPass` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL
,
`uEmail` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL
,
`uDesc` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL
,
PRIMARY KEY ( `uId` )
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci
59. 2) Tag (t)
CREATE TABLE `tag` (
`tId` INT NOT NULL AUTO_INCREMENT ,
`tName` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
`tDesc` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
PRIMARY KEY ( `tId` )
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci
60. 3) Post (p)
CREATE TABLE `post` (
`pId` INT NOT NULL AUTO_INCREMENT ,
`uId` INT NOT NULL ,
`pTitle` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
`pContent` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
PRIMARY KEY ( `pId` )
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci
61. 4) Meta (m)
CREATE TABLE `meta` (
`mId` INT NOT NULL AUTO_INCREMENT ,
`pId` INT NOT NULL ,
`mKey` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
`mValue` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
PRIMARY KEY ( `mId` )
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci
62. 5) Option (o)
CREATE TABLE `option` (
`oId` INT NOT NULL AUTO_INCREMENT ,
`oKey` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
`oValue` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
PRIMARY KEY ( `oId` )
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci