Individual Learning/DB & SQL
-
231014_DB 과제물Individual Learning/DB & SQL 2023. 10. 14. 17:19
각 테이블을 만든 뒤 데이터를 넣었다. 각자 다르게 하나하나 쓸 자신은 없어서 그냥 이름/주소는 적당히 돌려서 넣었고 어찌되었든 각 테이블에 들어가는 데이터의 고유 key가 오류가 없으면 될테니 1~10씩 정수 돌림자를 넣었다. select * from Customer_Information; -- 고객정보 INSERT INTO Customer_Information (customer_name, Address, tell, email, membership) VALUES ('kim', 'seoul', '01012345678', 'qwer@gmail', '2020-05-14'); INSERT INTO Customer_Information (customer_name, Address, tell, email, memb..
-
231014_과제물 보충Individual Learning/DB & SQL 2023. 10. 14. 13:58
자기 전에 만들었던 설계가 잘못 되었다는걸 알아서 처음부터 다시 만들어봤다. 어제 만든 작업 순서는 상품명->예약->입금->문의고객->고객 순이었는데 이번에는 고객->상품 명->예약->입금->문의고객 순으로 바뀌었다. 고객을 마지막에 만들었더니 마지막에 1:N 관계망 때문에 각 테이블마다 Foreign key를 만들어줘야 했었다. 그걸 없애보고자 다시 한번 설계함. 1. 고객은 참조를 할 곳이 없으므로(1:N 에서 1) 가장 처음 만듦 2. 상품 명이 고객을 참조(1:N에서 N)하므로 상품 명을 생성. 왜 상품 명이 고객을 참조 하느냐면 1:N 관계망에서는 N에 Foreign key 를 생성해야 하기 때문이다. 고객은 1:N 관계망을 가지지만 1 이므로 가장 먼저 생성됨. 3. 예약은 상품 명과 1:1 ..
-
231013_과제물Individual Learning/DB & SQL 2023. 10. 14. 01:19
1:1의 관계가 성립한다면 외래키는 어디에 넣든 상관없다. 1:N의 관계를 갖는다면 외래키는 항상 항상 N 쪽에 넣어야 한다. N:M의 관계를 갖는다면 새로운 필드를 하나 만들어서, 각각의 외래키를 가지고 와 기본키를 생성한다. 두 테이블간 관계의 구분 (1:N인지 N:M인지)은 데이터를 만들어 달라고 했던 사람의 요구사항에 따라서 결정됨. 위 내용을 바탕으로, 옆자리 학생이 의뢰한 DB 설계도를 구상해봤다. 뻘하지만 교실에서 작업한 파일을 기껏 가지고 왓는데 정작 내 컴퓨터에서는 열리지도 않아서 처음부터 다시 타이핑을 하느라 개고생을 했다. DB도 그렇고 Java도 그렇고 참 파일 하나를 옮겨 다른 컴퓨터에서 열기가 힘든 구조인 거 같다... 나만 그렇게 느끼는건지 모르겠다. 아니니까 굳이 깃허브 같은..