본문 바로가기

분류 전체보기

(268)
20- SQL ( DB트랜잭션 ) 트랜잭션 : 데이터베이스 관리 시스템에서 상호작용의 단위이다 예) jsp 웹 어플리케이션 RDBMS에 날리는 한개의sql문 DBeaver 오토커밋 끄기 1. 윈도우 > 옵션 > 연결유형 auto cummit 설정해제 후 apply 2. set autocommit = false 를 실행하여 autocommit 옵션을 끄자 RDBMS 데이터의 저장공간 2가지로 나뉜다 (임시 저장공간, 확정된 저장공간) (위에서 오토커밋 끈 이유 : 오토커밋을 켜면 임시공간 안쓰고 바로 확정된 저장공간으로 보낸다) commit or rollback 쓰지않은 상태에서는 데이터가 임시저장공간에 있다가 commit or rollback 명령을 내려주면 날라가거나 확정된 저장공간에 확정될 수 있다. 왜 이렇게 하나요 (트랜잭션을 알..
19- SQL ( like ) SQL) like 구문에 사용되는 특수문자 두개 : %, _ 를 알아보자 ' % ' like 구문 특성 문자열 위치에 부합하는 길이 상관 없는 모든 문자열 select * from employees e -- employees 테이블에서 first_name 이 'P'로 시작하는 모든 사람을 찾아주시오 select * from employees where first_name like 'P%' -- employees 테이블에서 first_name 이 'p'로 끝나는 모든 사람을 찾아주시오 select * from employees where first_name like '%p' -- employees 테이블에서 first_name 에 'ur'이 들어가는 모든 사람을 찾아주시오 select * from empl..
JSP- forward 와 Redirect Test ForwardServlet RequestDispatcher는 클라이언트로부터 최초에 들어온 요청을 JSP/Servlet 내에서 원하는 자원으로 요청을 넘기는 역할을 수행하거나, 특정 자원에 처리를 요청하고 처리 결과를 얻어오는 기능을 수행하는 클래스 /a.jsp 로 들어온 요청을 /a.jsp 내에서 RequestDispatcher를 사용하여 b.jsp로 요청을 보낼 수 있습니다. 또는 a.jsp에서 b.jsp로 처리를 요청하고 b.jsp에서 처리한 결과 내용을 a.jsp의 결과에 포함시킬 수 있습니다. RequestDispatcher의 forward() 메서드 forward() 메서드는 대상 자원으로 제어를 넘기는 역할을 합니다. 브라우저에서 /a.jsp로 요청했을 때 /a.jsp에서 forward()를..
18- SQL ( GROUP BY ) group by group by : grouping 해서 나눌 수 있는 기준 칼럼을 가지고 여러 쿼리를 수행함 group by - having 과 where의 차이 having 다시한번 집계해서 뽑아낸 데이터 기준으로 조건을 실행한다 group by - having where 모든 데이터에서 조건을 실행한다 having - 직원별로 지금까지 받은 salary의 총 합이 100만이 넘는 모든 직원을 보여주세요 select s.emp_no , sum(s.salary) as salarySum from salaries s group by emp_no having salarySum >=1000000 where - salary 6만이 넘는 모든 데이터를 출력하시오 select * from salaries s whe..
17- EDR 다대다 매핑과 EQUI JOIN 다대다 매핑 (N : N) 관계형 데이터베이스는 정규화된 테이블 2개로 다대다 관계를 표현할 수 없다. 그런 이유로 중간에 연결 테이블을 추가해서 다대다 관계를 일대일, 다대일 관계로 풀어낸다 여기서 PruchaseOrder(주문) 테이블이 연결 테이블 역할을 한다 ( PruchaseOrder테이블에 두 개의 왜래키(uid, pid) 가 생긴것을 볼 수 있다. ) EDR 코드 DB에서 실행 이전에 만든 테이블들을 DROP시키고 다시 위 사진의 EDR코드를 받아서 실행해보자 (일대일 일대다 EDR을 작성해봤으니 잘 실행했으리라 생각한다!) 각 테이블에 값을 넣어주었다. 이제 어떻게 출력할건지 생각해보자 Equi Join 조건 절에 조인되는 두 테이블의 컬럼을 Equal 연산자(=)로 연결하는 경우이다. 주..
16- EDR 식별관계 (1 : 1) 15- EDR 비식별관계(1 : N) 제약조건 : (raw)데이터의 무결성을 지키기 위해서 무결성? 결성? 결성 : 데이터에 '결함'이 있다 무결성 : 데이터에 '결함'이 없다 비식별관계 비식별관계 (일대 다 관계 / 1 : N) 여기서 1 dwc04112.tistory.com 위 비식별관계의 두 테이블 밑에 테이블을 하나 더 추가해준다 식별관계 식별관계 (일대 일 / 1 : 1) 아래 회원개인정보 테이블을 만들고 식별관계 즉 (1 : 1) 관계를 만들어주었다. 여기서 User = 1 : UserPrivateInfo = 1 이 테이블을 보고 알 수 있는것은, 유저 하나당 하나의 개인정보를 가지고 있는 것이다 식별관계는 단 하나만 들어갈수 있으니 ForeignKey모양이 비식별관계의 ForeignKey와 ..
15- EDR 비식별관계(1 : N) 제약조건 : (raw)데이터의 무결성을 지키기 위해서 무결성? 결성? 결성 : 데이터에 '결함'이 있다 무결성 : 데이터에 '결함'이 없다 비식별관계 비식별관계 (일대 다 관계 / 1 : N) 여기서 1 : user , N : board 이걸로 알 수 있는 것은 하나의 유저는 여러개의 글을 쓸 수 있다 글을 쓰는 유저는 회원 가입이 된 유저만이 글을 쓸 수 있다. (밑에서 설명) 비식별관계를 만들면 ForeignKey가 생긴다 위 사진에서 uid(F) 즉 Foreignt Key 를 외래키 = 다른테이블(user)에서 가져온 키이다 ex) user테이블에 uid, id, passwd, nickname 이 ( 1 , lala , 1234 , nickname) 밖에없으면 board테이블 에 uid 값 2는 들..
14- Eclipse EDR 그리기 우선 새로만들기 > exerd 만들기 > 대상DBMS 를 MYSql 5.1~5.8로 설정해주자 이클립스 의 exerd를 만들었다면 새로만들기 > 테이블을 생성하자 컨트롤 엔터 누르면 새 컬럼이 생성된다! Del 키를 누르면 컬럼이 날라가며 삭제된다 ( 이클립스 화면 왼쪽 상단에 논리모드 / 물리모드 를 변경하면 위 사진과 같이 변경된다 ) 위 사진을 보며 용어를 정리! 1. 논리이름과 물리이름을 어떻게 정하는게 좋을까? 물리이름 : 실제 컬럼 명을 지정 논리이름 : 주석역할 (한글이나 알아보기 쉬운 단어로 의미지정) 2. pk컬럼으로 지정 primary key - 하나의 테이블에 들어있는 각각의 모든 row를 구분해주는 유일(unique)값이다 (기본키는 다른 항목과 절대로 중복되어 나타날 수 없다) -..