달력

12

« 2019/12 »

  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  



 

 

Parameters

·       쿼리의 파라미터

·       PreparedStatement 객체의 ? 해당되는 바인딩 변수 여기에 해당됩니다.

·       전달되는 객체에 따라 파라미터의 타입이 결정됩니다.

 

 

 

Mybatis 코드

<select id="selectPerson" parameterType="int" resultType="hashmap">

        SELECT * FROM person WHERE id=#{id}

</select>

 

 

 

Java 코드

String selectPerson = "SELECT * FROM person WHERE id=?";

PreparedStatement preparedStatement = conn.preparedStatement(selectPerson);

preparedStatement.setInt(1, id);

 

 

여러 개의 파라미터를 통한 쿼리문

<insert id="insertPerson" parameterType="com.tistory.codedragon.vo.Person">

        INSERT INTO person (id, username, password)

        VALUES(#{id},#{username},#{password})

</insert>

 

 

 


Posted by codedragon codedragon

댓글을 달아 주세요

uptodate

https://codedragon.tistory.com/9403


 

MySQL 설치 파일 Download - 5.7.x

 

홈페이지에 접속합니다.

http://www.mysql.com/

 

[Download] 메뉴를 클릭합니다. >>

[Archives] 메뉴를 클릭합니다.


 

[MySQL Downloads]


 

왼쪽 메뉴에서 [MySQL on Windows] 클릭


 

[MySQL Installer]


 

버전을 맞추기 위해 다른 버전의 설치파일이 필요하다면 [Looking for previous GA versions?]를 클릭하여 원하는 버전의 설치파일을 다운로드하면 됩니다.


 

or

 

최신버전을 다운받으려면 여기서 [Download]버튼을 클릭하여 설치파일을 다운로드하면 됩니다.

[Download]


 

[No thanks, just start my download.]


 


 

 

 

직접 다운로드

https://dev.mysql.com/get/Downloads/MySQLInstaller/mysql-installer-community-5.7.19.0.msi

http://dev.mysql.com/get/Downloads/MySQLInstaller/mysql-installer-web-community-5.6.28.0.msi

 

 

Posted by codedragon codedragon

댓글을 달아 주세요



 

 

MySQL 설치 파일 Download - 8.0.xx

 

홈페이지에 접속합니다.

http://www.mysql.com/

 

[Download] 메뉴를 클릭합니다. >>


 

메이지 하단의 "MySQL Community Edition (GPL)" 있는 [Community (GPL) Downloads »] 링크를 클릭합니다.

https://www.mysql.com/downloads/


 

"MySQL Community Downloads" 페이지에서

[MySQL Installer for Windows] 항목 클릭합니다.


 

 

 

아래의 용량이 설치파일의 [download] 버튼 클릭

https://dev.mysql.com/downloads/installer/


 

 

[ No thanks, just start my download.]


 


Posted by codedragon codedragon

댓글을 달아 주세요



 

스키마(Schema)

·       데이터베이스 구조(Structure) 제약조건(Constraints) 기술한 것입니다.

·       , 개체와 속성, 관계를 포함하는 논리적 정의와 제약조건(Constraints)을 기술한 것입니다.

·       데이터베이스 스키마(database schema)에는 데이터베이스의 구조에 해당하는 모든 테이블, , 데이터 타입, 인덱스, 제약 조건, 테이블 간 관계를 가지고 있습니다.

 

스키마  = 논리적 정의 + 제약조건

 

 

 


ANSI/SPARC 3단계 구조와 스키마 구분

ANSI/SPARC 3단계 구조에 각각 대응하는 스키마를 가지고 있습니다.

단계

스키마 구분

스키마 특징

외부 단계

외부 스키마

(External Schema)

·       사용자 개개인의 관점에서 정의한 DB 스키마

·       여러 개 존재

·       서브스키마(Subschema)라고도 합니다.

개념 단계

개념 스키마

(Conceptual

Schema)

·       범 기관적인 관점에서 정의한 DB 스키마

·       모든 외부 스키마가 요구하는 전체적인 DB 구조와 제약조건을 포함합니다.

·       단 하나만 존재

·       그냥 스키마(Schema)라고도 합니다.

내부 단계

내부 스키마

(Internal Schema)

·       저장 장치 관점에서 정의한 DB 스키마

·       개념 스키마에 대한 저장구조를 정의합니다.

·       단 하나만 존재

 

 


Posted by codedragon codedragon

댓글을 달아 주세요


 

 

시스템 성능에 영향을 미치는 요소들

요소

설명

DBMS 선정

·       업무의 특성 맞는(, 개념적 모델의 특성을 가장 표현할 있는 논리적 데이터 모델을 기반으로 하는) DBMS 제품을 선정해야 합니다.

·       일반적으로 업무의 특성보다는 가격이나 영업 전략에 따라 선정되는 경우가 많습니다.

하드웨어 자원

·       DB 적용할 업무 시스템의 규모(사용자 , 트랜잭션 ) 적합한 하드웨어자원(CPU, 디스크, 메모리 ) 확보해야 합니다.

데이터 전송량

·       통신을 통한 데이터 전송량 많을수록 시스템 성능이 나빠집니다.

·       통신량을 최소화할 있는 최적화된 프로그램 개발이 요구됩니다.

로깅(Logging)

·       트랜잭션 처리 양과 형태, 위치 등을 고려한 로깅 간격 위치 결정에 따라 성능이 달라집니다.

기타

·       업무 프로그램의 설계 코딩, 데이터 접근 방식 등에 따라 성능이 달라집니다.

 

 




Posted by codedragon codedragon

댓글을 달아 주세요


 

 

DBA_USERS 컬럼 정보

계정의 상태 정보를 확인할 있는 테이블입니다.

 

컬럼

설명

USERNAME

USER의 계정 명입니다.

ACCOUNT_STATUS

계정의 상태입니다. OPEN일 경우 정상 EXPIRED는 기한 만료, LOCKED는 계정이 잠겨있음을 뜻 합니다.

상태

설명

OPEN

정상

EXPIRED

기한 만료

LOCKED

계정 잠김

 

EXPIRY_DATE

계정이 잠긴 날짜를 의미합니다.

 

 

 

사용자의 기존 암호 변경

ALTER USER 변경할계정 IDENTIFIED BY "변경할 암호";

 

 

 

로그인 실패횟수 무제한

ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED;

 

 

암호 만료기한 무제한 설정

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

 

 

로그인 실패횟수 무제한 & 암호 만료기한 무제한 설정

ALTER PROFILE DEFAULT LIMIT

FAILED_LOGIN_ATTEMPTS UNLIMITED

PASSWORD_LIFE_TIME UNLIMITED;

 

 

 

 

 



Posted by codedragon codedragon

댓글을 달아 주세요



 

 

시퀀스 삭제

DROP SEQUENCE 시퀀스명;

 

 


Posted by codedragon codedragon

댓글을 달아 주세요


 

객체와 권한 설정 명령어 매핑

객체 권한은 테이블이나 , 시퀀스나 함수 등과 같은 객체별로 DML문인 SELECT, INSERT, DELETE등을 사용할 있는 권한을 설정하는 것입니다.

권한

TABLE

VIEW

SEQUENCE

PROCEDURE

ALTER

O

 

O

 

DELETE

O

O

 

 

EXECUTE

 

 

 

O

INDEX

O

 

 

 

INSERT

O

O

 

 

REFERENCES

O

 

 

 

SELECT

O

O

 

 

UPDATE

O

O

 

 

 

 



Posted by codedragon codedragon

댓글을 달아 주세요


 

시스템 권한 (System Privilege)

·       오라클 접속, 테이블, , 인덱스 생성 권한 등이 있습니다.

·       관리자 계정에 부여 되는 권한입니다.

·       SYS, SYSTEM 계정으로 부여 가능합니다.

 

 

 

 

대표적인 시스템 권한

·       데이터베이스 관리자가 가지고 있는 시스템 권한으로 CREATE USER, DROP USER, DROP ANY TABLE, QUERY REWRITE, BACKUP ANY TABLE 등이 있습니다.

·       데이터베이스를 관리하는 권한으로 시스템 관리자가 사용자에게 부여하는 권한인 CREATE SESSION, , CREATE TABLE, , CREATE VIEW, , CREATE SEQUENCE, , CREATE PROCEDURE등이 대표적입니다.

 

시스템 권한

설명

CREATE USER

새롭게 사용자를 생성하는 권한

DROP USER

사용자를 삭제하는 권한

DROP ANY TABLE

임의의 테이블을 삭제할 있는 권한

QUERY REWRITE

함수 기반 인덱스를 생성하는 권한

BACKUP ANY TABLE

임의의 테이블을 백업할 있는 권한

CREATE SESSION

테이터베이스에 접속할 있는 권한

CREATE TABLE

사용자 스키마에서 테이블을 생성할 있는 권한

CREATE VIEW

사용자 스키마에서 뷰를 생성할 있는 권한

CREATE SEQUENCE

사용자 스키마에서 시퀀스를 생성할 있는 권한

CREATE PROCEDURE

사용자 스키마에서 함수를 생성할 있는 권한

RESOURCE

·       객체를 생성, 변경, 제거 할 수 있는 권한

·       DDL, DML 명령어를 사용이 가능합니다.

CONNECT

·       데이터베이스에 연결할 수 있는 권한

DBA

·       데이터베이스 관리자 권한

 

 

 

GRANT 명령어

사용자에게 시스템 권한을 부여합니다.

 

 

GRANT 명령어 형식

사용자명 대신 PUBLIC으로 기술하면 모든 사용자에게 해당 시스템 권한이 부여됩니다.

GRANT 권한명, ... TO 사용자명

GRANT 권한명, ... TO PUBLIC

 

 

 

 

WITH ADMIN OPTION 옵션

사용자에게 시스템 권한을 WITH ADMIN OPTION과 함께 부여하면, 그 사용자는 데이터베이스 관리자가 아닌데도 불구하고 부여 받은 시스템 권한을 다른 사용자에게 부여할 수 있는 권한도 함께 부여 받게 됩니다.

 

GRANT 권한명, ... TO PUBLIC WITH ADMIN OPTION

 


Posted by codedragon codedragon

댓글을 달아 주세요

 

 

 

인덱스의 장점/단점

장점

·       검색 속도가 빨라집니다.

·       시스템에 걸리는 부하를 줄여서 시스템 전체 성능을 향상시킵니다.

단점

·       인덱스를 생성하는데 시간이 걸립니다.

·       인덱스를 위한 추가적인 공간이 필요합니다.

·       데이터의 변경 작업(INSERT/UPDATE/DELETE) 자주 일어날 경우에는 오히려 성능이 저하됩니다.

 

 



Posted by codedragon codedragon

댓글을 달아 주세요