컴퓨터 재시작 했을 때

colima start --memory 4 --arch x86_64

docker start oracle


맥북 톰캣 설치

/Applications/apache-tomcat-10.1.24 → 톰캣경로

/Applications/apache-tomcat-9.0.89

/Users/yunakang/apache-tomcat-10.1.24/bin


 

오늘은 ‘테이블 설계 후 데이터 집어넣기’를 해본다.

 

테이블 설계

 

✨ 논리적 설계

→ 말로 풀어갈 수 있음

-도서(객체)

-속성

  • 도서번호
  • 도서제목
  • 출판사
  • 가격
  • 도서단가
  • 목차

-고객(객체)

-속성

  • 고객번호
  • 고객이름
  • 주소
  • 전화번호

두 테이블이 관계를 맺을 수 있다 → 조인

도서와 고객은 주종관계

도서가 있어야 고객이 있다 → 도서가 주, 고객이 종

 

✨ 물리적 설계

→ 테이블 정의서

→ 커럼 이름 정하기

 

도서 컬럼명 - 타입(크기) - 제약조건

  • bookid - number(2) - pk
  • bookname - varchar2(10) - not null
  • publisher - varchar2(20) - not null
  • price - number(8) - not null

 

 

SQL 관계설정

 

 

erdcloud 에서 erd 작성해보기

  • 쿼리문을 자동으로 만들어준다

 

erdcloud에서 만들어준 쿼리문을 이용해 sql developer로 데이터를 넣고 원하는 형식으로 조회해보았다.

CREATE TABLE  subInfor  (
	 subcode 	varchar2(2)		NULL,
	 subname 	varchar2(20)		NOT NULL,
	 teacher 	varchar2(10)		NOT NULL
);

CREATE TABLE  studentInfor  (
	 no 	number(4)		NOT NULL,
	 name 	varchar2(10)		NOT NULL,
	 department 	varchar2(15)		NOT NULL
);

CREATE TABLE  CourseInfor  (
	 courseNo 	number(10)		NOT NULL,
	 no 	number(4)		NOT NULL,
	 subcode 	varchar2(2)		NULL
);


ALTER TABLE  subInfor  ADD CONSTRAINT  PK_SUBINFOR  PRIMARY KEY (
	 subcode 
);

ALTER TABLE  studentInfor  ADD CONSTRAINT  PK_STUDENTINFOR  PRIMARY KEY (
	 no 
);

ALTER TABLE  CourseInfor  ADD CONSTRAINT  PK_COURSEINFOR  PRIMARY KEY (
	 courseNo 
);






insert into studentInfor (no, name, department)
values (1, '홍길동' ,'컴공과');

insert into studentInfor (no, name, department)
values (2, '장길산' ,'토목과');

insert into studentInfor (no, name, department)
values (3, '임꺽정' ,'불문과');


insert into subInfor (subcode, subname, teacher)
values ('s1', 'java' ,'조용준');

insert into subInfor (subcode, subname, teacher)
values ('s2', '알고리즘' ,'이몽룡');

insert into subInfor (subcode, subname, teacher)
values ('s3', 'web' ,'성춘향');


insert into CourseInfor (courseNo, no, subcode)
values (1, 1 ,'s1');

insert into CourseInfor (courseNo, no, subcode)
values (2, 1 ,'s2');

insert into CourseInfor (courseNo, no, subcode)
values (3, 2 ,'s2');

insert into CourseInfor (courseNo, no, subcode)
values (4, 2 ,'s3');

commit;

select * from studentInfor;
select * from subInfor;
select * from CourseInfor;


-- 학번, 이름, 과목코드, 과목명, 교수명

select s.no, s.name, e.subcode, sb.subname, sb.teacher
from CourseInfor e join studentInfor s
on e.no = s.no
join subInfor sb
on e.subcode = sb.subcode;

 

조인을 통해 아래와 같은 결과를 출력할 수 있다.

 

+ Recent posts