On Sat, May 24, 2014 at 11:53 PM, Smita <kumarismita62(a)gmail.com
<mailto:kumarismita62@gmail.com>> wrote:
On Sat, May 24, 2014 at 10:25 PM, Marc Delisle <marc(a)infomarc.info
<mailto:marc@infomarc.info>> wrote:
Le 2014-05-24 12:16, Smita a écrit :
On Sat, May 24, 2014 at 9:24 PM, Marc Delisle
<marc(a)infomarc.info
<mailto:marc@infomarc.info>
<mailto:marc@infomarc.info
<mailto:marc@infomarc.info>>> wrote:
Le 2014-05-24 11:03, Smita a écrit :
>
>
> On Sat, May 24, 2014 at 7:49 PM, Marc Delisle
<marc(a)infomarc.info <mailto:marc@infomarc.info>
<mailto:marc@infomarc.info
<mailto:marc@infomarc.info>>
> <mailto:marc@infomarc.info <mailto:marc@infomarc.info>
<mailto:marc@infomarc.info <mailto:marc@infomarc.info>>>> wrote:
>
> Hi Smita,
> I have a doubt, looking at the structure you chose
for this
table:
> db_name
> column_list
>
> This structure implies that, for any change, you
have to load
a
> potentially big row, decode it and
encode it.
Imagine that
there are
hundreds or thousands of column definitions
for this db.
I suggest something like:
db_name
column_name
column_attributes
Yeah, agree. Thanks, It would be better to keep this. :-).
I have a question: If we have "id interger(11) not null
auto_increment"
> already existing in central list, should we allow to add
another
column
> "id integer(20) not null auto_increment" ? If we don't
allow then
we can
also keep structure like maybe:
db_name
column_name
column_type
column_collation
column_isNull
column_extra
- Smita
In a central list, there should be only one column named
"id" (but this
choice of name would be problematic, of
course; a better
choice would be
"customer_id").
So We'll allow only unique column name. If same column name with
different definition tried to add we just show the column name
(with
defination) already exist?
Yes; eventually I guess that in your project, there will be a way to
directly view the central list and change column definitions.
Yeah, I need to make a page to manage central columns, there users
can view complete list of columns and edit some if they want.
Another example is "phone_number"; which is reused in the
customer table
and in the salesperson table. You might want
to always use
CHAR(25) for
phone numbers.
So it's a good idea to split the attributes into separate
columns
like
in your example. The default value could be
there too.
Ok, thanks. We'll keep default as well.
Hi Marc,
I redesigned the database as discussed. I completed the adding columns
part but I got stuck when came to deletion. I have a question.
Let say I have two tables tbl1 and tbl2, both table has a common column
name "phone_number". So If user selects both tables and asks to add
unique columns to central list, then we are gonna add just one
"phone_number" , let say we add the column/definition "phone_number"
from tbl1. now let say user select tbl2 and ask to remove columns from
central list. What should it do ? should it remove the column
"phone_number" from central list or not ? as "phone_number" was
added
from tbl1. but "phone_number" exists in tbl2 as well.
- Smita
I say we should remove it from the central list. It's up to the user, to
use the feature in a correct way.
Anyway, say the user added phone_number in tbl3 but never used any
central column option on tbl3. phpMyAdmin won't know that this
phone_number in tbl3 possibly has a different definition, unless there
is an option to manually validate all the tables against the central list.
--
Marc Delisle | phpMyAdmin