안녕하세요 ㅠㅠ 테이블 짜는 것에 있어서 질문 드립니다 ㅠㅠ 0 2 3,428

by 이마양 테이블 ERD 오라클 [2012.03.20 09:59:17]


이번에 신입사원으로 들어오면서 과제로 맡은 부분이 테이블 만드는 것인데요

안드로이드 어플리케이션에서 활용할 데이터베이스를 오라클로 만들고자 합니다.

인맥관리 어플리케이션을 만들고자 하는데요

CREATE TABLE User (
    key    INT    NOT NULL    Primary Key    AUTO_INCREMENT,
    id    VARCHAR(20),
    pw    VARCHAR(20),
    name    VARCHAR(20),
    phone    VARCHAR(15),
    text VARCHAR(255)
    flist
    jkey
    lkey

CREATE TABLE JOB(
    jkey INT NOT NULL Primary Key AUTO_INCREMENT,
    job1    VARCHAR(20),
    job2    VARCHAR(20))

CREATE TABLE LOC(
    lkey    INT NOT NULL Primary Key AUTO_INCREMENT,
    loc1    VARCHAR(20),
    loc2    VARCHAR(20),
    text    VARCHAR(255))


이렇게 테이블을 세개 만들려고 했는데

어플리케이션의 속도가 늦어질것 같다고 해서 그냥 하나의 테이블로 만들까 생각을 했다가

친구목록인 flist를 따로 하나의 테이블로 빼야 하나 생각중입니다. ㅠㅠ

질문이 두서 없지만 어떤 형태가 좋을까요? ㅠㅠ flist는 어레이 형식을 취하는 것으로 생각하는데....

면목없지만 도움 부탁드립니다 ㅠㅠ
by 부쉬맨 [2012.03.20 10:04:42]
다장점과 단점이있는데
처음부터 배우시는거라면 (공부의목적) 업무분석을하여서
그걸 모델링식의 설계를 하시는방법이좋다고 말씀드리고싶네요.

머 이것도 저것도 해보는시기이미 다해보셔도되고요..

나중에 확장성이나 머 생각하신다면 코드성테이블등은 따로 만드셔서 관리하시는게좋겠지요

하지만 단점은
select * from 하나의 테이블로 표현할수있는게
여러가지 조인이 걸리면서 복잡해지고 속도가 느져질수있다라는 단점이 있을수도있지만
설계를 제대로하면 상관은없겠지요.

수고하세요.

by 강서꽃미남 [2012.03.20 10:43:05]

oracle 용인데 AUTO_INCREMENT 가 적용이 되나요..
저 옵션은 mysql용아닌가요 시퀀스로 관리하시는게..
부쉬맨님 말처럼 아키텍처가 제대로 짜져있다면 문제없지만
하나의 테이블로 만들었을때, 조인이 많이 일어나면 성능에 문제가 있을 수도 있습니다.
데이터양, 사용빈도 등 고려하시고 테이블을 설계하세요.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입