일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- spring
- @Autowired
- compgen
- 무한정 대기
- API
- application layer
- 오블완
- 쉘 스크립트
- 런타임 상수
- m:n
- 백준
- 기본키 전략
- Git
- 은행원알고리즘
- intelij spring config
- 파이썬
- allocationSize
- 컴파일 타임 상수
- 리눅스
- 프로그래머스
- 알고리즘
- @SubscribeMapping
- DTO
- 커밋 되돌리기
- BindingResult
- 티스토리챌린지
- JPA
- 쿠키
- 편향된 지수
- JDBC
- Today
- Total
목록데이터베이스 (11)
둘셋 개발!
우선 1:m 테이블이 무엇인지 알아보자. 1:M 테이블이란? : 한쪽이 관계를 맺는 쪽의 여러 객체를 갖는 것을 의미 가장 대표적인 예가 부모와 자식 관계라고 할 수 있다. 부모는 여러명의 자식과 관계를 맺을 수 있다. 하지만 자식은 여러명의 부모와 관계를 맺을 수 있다. 때문에 1:m 관계가 성립한다. 그림으로 보면 다음과 같다. 부모테이블의 id를 pk라고 하면, 자식테이블에 들어가 있는 부모 id는 fk로 설정하여 1:m관계를 형성한다. 이렇게 되면 가비지 데이터를 막을 수 있다. 이게 무슨말이야 하면, 만약 자식 테이블에 부모ID가 4인 데이터가 들어온다고 치자!! 하지만 현재 부모 테이블에는 id가 4인 데이터(가비지 데이터) 가 없다. 따라서 들어올 수 없는 데이터이기 때문에 insert할 수..
✔️ Primary Key 의 조건 - NOT NULL - UNIQUE 한 컬럼을 key로 설정할 수 있으려면 그 값이 비어있지않고 무조건 존재해야 하며(NOT NULL), 유일무이(UNIQUE) 해야한다. 만약 NOT NULL조건이 빠지면 Key는 될 수 없지만 후보 Key는 가능하다. 여기서 후보 키는 primary key가 될 가능성이 있는 key를 말한다. 예로는 주민번호, 이메일, 핸드폰 번호가 있다. 사람마다 주민번호, 이메일 , 핸드폰 번호가 다 다르지만, 이메일을 쓰지 않는 사람이 있을 수 있고 핸드폰이 없는 사람들이 있을 수 있기 때문에 값이 없을 수 있어 not null 조건을 만족시키지 못해 후보키가 된다. (key를 설정하고 난 후에는 인덱스 테이블이 만들어 지는데, 이는 key를 ..
인터넷을 사용하기 위해 필요한 컴퓨터의 갯수는 최소 2개가 필요하다. 바로 요청하는 쪽과 응답하는 쪽인데, 이름을 부여하자면 요청하는 쪽 : Client 응답하는 쪽 : Server(서비스 제공자) 이때 databse server에 server가 이 Server(서비스 제공자)이다. 우리는 데이터를 얻기 위해 database server에 요청을 하게 되는데 , 요청하는 쪽이 바로 databases client이다. 예를 들어 우리가 MySQL monitor에 > mysql -uroot -p 라고 요청하면 database server에서 응답을 한다. 여기서 mysql monitor은 databases client 중 하나 이다. 그 말은 즉슨 다양한 database client로 부터 databses ..
설명을 하기전 필요성부터 느껴보자면 -topic(테이블) id title author profile 1 h2db egoing developer 2 mysql egoing developer 3 oracle hwa database administrator 이러한 테이블이 있다고 가정하자! 1, 2행의 author과 profile이 중복된다 중복이 있다는 것은 개선할 무언가가 있다는 것이다. 만약, 행의 갯수가 1억개이고 egoing과 developer이 아주 큰 데이터라면? 그리고 'egoing'을 'ego+ing'으로 수정해야 하게 되는 상황이 온다면? 따라서 유지보수하기 쉽고 중복을 없애기 위해 테이블을 분리해야한다 이렇게! -author(테이블) id name profile 1 egoing develo..