2014-11-08 3 views
0

나는 동적 데이터베이스를 만드는 방법은 무엇입니까?

어떻게 내가 저장 쿼리 나 다른 방법을 통해이하여 데이터베이스를 만들 수 있습니다 .. 동적 데이터베이스 단계로 필요하거나이 기준에 흐름을

을 만들려고합니다.

프로그래밍 방식으로 필요합니다.

1) 건강한 조리법 카테고리 테이블

1)BreakFast 
    2)Lunch 
    3)Dinner 
    4)chicken & turkey 
    5)Dessert 
    ........... 

2) 아침 식사 테이블 ....

- orange and vanilla protein oatmeal 

-chili-chocolote protein oatmeal 
..... 

3) - 오렌지와 바닐라 단백질 오트밀 테이블

-Ingredients 
    -directions 

덕분에 모든 ~까지 ...

답변

1

SQLite를 사용하고 싶습니다. 새 데이터베이스를 작성, SQLite는 클라이언트 (Sqliteman 또는 유사한)를 실행하고 스크립트로 아래를 실행

insert into category (category_id, name) values (1, 'Breakfast'); 
insert into category (category_id, name) values (2, 'Lunch'); 
insert into meal (meal_id, name) values (1, 'Orange and vanilla protein oatmeal'); 
insert into meal (meal_id, name) values (2, 'Chili-chocolote protein oatmeal'); 
insert into meal_category (meal_category_id, meal_id, category_id) values (1, 1, 1); -- meal 1 is a breakfast 
insert into meal_category (meal_category_id, meal_id, category_id) values (2, 2, 1); -- meal 2 is a breakfast 

을 그리고이처럼 조회 :

create table category (
    category_id integer not null primary key, 
    name varchar(80) not null 
); 
create table meal (
    meal_id integer not null primary key, 
    name varchar(80) not null, 
    directions text 
); 
create table meal_category (
    meal_category_id integer primary key, 
    meal_id integer not null references meal, 
    category_id integer not null references category 
); 

당신은 다음과 같은 데이터를 삽입 할 수 있습니다

select m.name || ' is ' || c.name from meal m 
    join meal_category mc on m.meal_id = mc.meal_id 
    join category c on mc.category_id = c.category_id; 

가장 간단한 디자인입니다. 추가 필드와 일부 색인을 추가 할 수 있습니다. SQL에 대한 자습서를 확인하십시오. 어쨌든 위의 예제는 작동하는 SQLite 데이터베이스를 제공합니다.

레시피 (계란, 밀가루, 물 등)에 사용할 수있는 데이터의 데이터를 유지하는 테이블 "성분"과 식사에 성분이 있어야하는지 알려주는 "meal_ingredient"가 필요할 수 있습니다. 조리법의 텍스트는 meal.recipe 필드에 보관할 수 있습니다.

데이터베이스를 디자인하는 데는 여러 가지 방법이 있으며 일반적으로 좋은 디자인을 위해 데이터베이스를 사용할 시스템의 세부 사양을 제공해야합니다.

데이터베이스가 어떤 용도로 사용되고 있는지, 어떤 종류의 데이터를 가져 와서 SQL에서 읽고 어떤 실험을하고 싶은지 가장 잘 알고 있어야합니다. 예를 들어, 밀가루를 사용하는 식사를 찾을 수 있기를 원한다면 식탁에 재료를 넣고 식사에 연결하는 것이 가장 좋습니다 - 카테고리는 식사와 관련이 있기 때문에 "다 대다 관계 ". 그러나 그러한 기능에 관심이 없다면 레시피와 재료 목록을 모두 meal.recipe 필드에 넣을 수 있습니다. 데이터베이스의 설계는 모델을 갖고 싶은 현실의 일부와 필요를 반영해야합니다.

+0

예 정말 고마워요. – Ghanshyam

+0

한 번 더 설명해주세요. mysql에서도 역시 흘러가십시오! – Ghanshyam

+0

귀하의 질문은 구체적으로 sqlite했다. 위의 코드는 매우 보편적 인 sql이며 mysql에서 작동 할 수 있습니다. 어쩌면 작은 튜닝이있을 수 있습니다. 데이터베이스 엔진에 대한 자습서를 확인하고 약간의 시간을 할애해야합니다. 그렇지 않으면 작동 방식이 이해되지 않고 사용할 수 없게됩니다. 당신의 시간과 노력을 과제에 넣으십시오 :-) – BartoszGo

관련 문제