
이상현상 : 데이터가 중복되어서 발생하는 현상이다 1번 고객이 탈퇴한다면 상품4까지도 같이 없어진다 ---> 삭제 이상 3번 고객이 가입했는데 상품은 구매하지 않았다--> 나머지칼럼은 무의미해서 낭비 --- > 삽입 이상 1번 고객이 구입한 1번 상품의 이름을 바꾸게 되면 --> 수정 이상 따라서, 정규화 과정을 거쳐서 이상현상을 제거할 수 있다. - 1 정규화 : 반복되는 그룹 속성을 제거한다. - 2 정규화 : 복합키에 전체적으로 의존하지 않는 속성을 제거한다. ( 복합키에 부분 종속적인 녀석을 제거) -3 정규화 : 기본키에 의존하지 않고 일반키(일반칼럼)에 의존하는 컬럼을 제거한다. (일반 컬럼에 종속적인 녀석을 제거) +일반적으로 복합키 같은경우는 복잡 하기 떄문에 상세번호라는 새로운 키(인공 ..

Index : 인덱스란 추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조 단점 : 추가공간이 필요, 별도로 생성되므로 생성하는데 시간이 많이 걸림, 데이터 변경이 많거나 소량의 데이터는 오히려 성능을 저하시킴 인덱스 생성 : 자동으로 생성 : primary key, unique 제약사항이 걸린 컬럼 $ create index [인덱스 명] on [테이블 명]([컬럼 명]); $ create index ind_email on user(email); View : 뷰는 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된, 이름을 가지는 가상 테이블 --문법-- CREATE VIEW 뷰이름[(속성이름[,속성이름])]..

전체적인 DB 사용 순서 1. DB Connect ( Java에선 Connection 이라고 부름)2. SQL 실행 준비 (Statement객체: Connection으로 DB에 연결하는 길을 열어 놨으면 그 길로 명령을 나르고 값을 받아오는 차가 Statement 객체이다. )3. SQL 실행4. DB disconnect 출처 :https://calm1.tistory.com/12 -INNER JOIN (EQUI JOIN) : 교집합을 의미한다. 옵티마이저가 알아서 테이블이 앞에 오건 뒤에오건 상관없이 최적으로 조인 연산 수행함. -OUTER JOIN : 어느 한쪽 테이블에는 해당하는 데이터가 존재하는데 다른쪽 테이블에는 데이터가 존재하지 않을 경우 그 데이터가 검색되지 않는 문제점을 해결하기 위해 사용함..
Relation DBMS (관계형 데이터베이스 시스템) : 테이블 기반 DBMS 예전 DB의 학생테이블 ex) 학생 테이블 : 학번, 이름, 과, 수강과목1, 수강과목2, 수강과목3 ,,,,, ,, 수강과목 400 이제는 수강과목 테이블을 따로 만들어 연결(JOIN) 함. --> 학생테이블과 수강과목 테이블은 관계를 맺고 있다.!! ex) 수강과목 테이블 : 학번, 수강과목 create table student( no int auto_increment primary key, class_title char(5), #참조키로 사용하자 뒤에 제약사항 작성하자 name varchar(100) not null, age int, # java에서는 디폴트 초기화가 각 타입별로 있다. database에서는 데이터타입과..
최근에 본 기업 코딩테스트에서 Ellice, Programmer와 같은 플랫폼을 사용해 IDE 및 검색 없이 시험을 봤다. 맨날 IDE에서 제공해주는 코드 어시스트 기능을 이용을 못하니깐 필요한 클래스도 임포트 못하고 평소에는 그냥 Ctrl+Space로 자동완성 시켜 불러쓰던 함수들은 완벽히 이름을 알지 못하자 사용을 못했다.. 그래서 api 불러다 쓰면 금방하는 것들을 다른 방식으로 접근하거나 길게 코드를 이어써야해서 불필요한 시간낭비를 했다.. 그래서 이 이후로 IDE없이 플랫폼에서 코딩테스트를 잘 볼 수있게 몇가지를 공부하고 정리해놓아야겠다. 우선, import는 import java.util.*; 이거 하나면 대부분의 라이브러리, 콜렉션 함수들을 사용할 수 있다. 일단 첫줄에 선언해놓고 시작하자 ..

Ajax : 페이지를 내려주는 것이 아닌 필요한 데이터만 내려주는 비동기적으로 통신하는 기법 위와 같이 자바스크립트에서는 [ ] 는 배열을 나타내고 { } 는 객체를 표현한다. ( 자바랑 헷갈리지말자! ) 1... ... 1000... 위와 같이 에 이벤트 바인딩을 하려고 하는데 li가 동적으로 늘어나거나 수가 매우 많을 떄, $("ul li").on("click", function(){}) 이런식으로 쓰게 되면 이벤트 바인드 개수가 li 요소 개수만큼 나온다. 특히 동적으로 만들어진 애한테는 이벤트 바인딩이 안되기 때문에 밑에와같이 delegate를 써야함 $("ul").on("click", "li", function(){}) 과 같이 하나의 이벤트 바인딩으로 끝낼 수도 있다. 다음은 실제 코드예시이다..
- Total
- Today
- Yesterday
- SQLD 후기
- Optinal Chaining
- 왜 트랜스지방은 살 찜
- gc 기본 동작 원리
- SSAFY 6기
- Java
- gc란 뭘까
- 스프링 동작흐름
- 부트스트랩 템플릿 사용시 충돌
- #web /was 구분이유
- Prim vs Dijkstra
- 청년 버팀목 대출
- git branch strategy
- java gc
- JAVA설치 #JDK #JRE
- Netlify #CICD
- 프로시저 #배치 #스케쥴러 #잡 #바인딩변수
- vue 특징
- 나머지연산 분배법칙
- 스프링 동작흐름 #ioc #di #dispatcherservlet
- 알고리즘 나머지연산
- Property or method "" is not defined
- vue정리
- 퍼블리싱 #앱에서 DB바로 안붙이는 이유
- java 김영한 강의 #2chapter
- safe operator
- 원자 원소 분자 차이점
- 버팀목 국민은행
- 스프링 기본 구조
- java garbage collector 기본
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |